js基础知识解惑

独裁
  • 2
新手上路,请多包涵

image
请教一下,代码运行在node环境中,为什么只输出了一次log,不应该是两次才对嘛?

回复
阅读 483
1 个回答
✓ 已被采纳

题主应该是理解为 var a = ...var b = ... 时才触发 Singleton.getInstance 上的“方法”。
但是实际上在定义 getInstance 时就已经执行完成了,它只是一个“值”:

Singleton.getInstance = (function(){
    ...
})() //注意这个括号,在这里就已经执行完成输出 log 了。

想要深入了解,请阅读 MDN 官方文档立即执行函数表达式

宣传栏