setTimeout属于js隐藏的策略模式吗

如下图代码所示:

img


据此,我认为setTimeout是属于的默认的策略模式,我想知道您是怎么看?

setTimeout不属于js隐藏的策略模式。策略模式定义:定义一系列的算法,把它们一个个封装起来,每个之间可以替换。setTimeout顶多是回调。

就我理解,设计模式可以看作是事务的解决方案,策略模式可以粗略指的是一个方法面对不同参数时内部封装的方法可以采取不同的执行方式也就是策略达到想要的结果。setTimeOut只是延迟执行某段函数的方法,虽然我没读过它的源码,从你的问题出发我也没看出你发的图与setTimeout有何关联,setTimeout本身应该不足以称作一个模式。

let a = function () {
    console.log('a')
  }
  let b = function () {
    console.log('b')
  }
  let c = function () {
    console.log('c')
  }
  setTimeout(a, 1000)
  setTimeout(b, 1000)
  setTimeout(c, 1000)