题主应该是理解为 var a = ... 和 var b = ... 时才触发 Singleton.getInstance 上的“方法”。但是实际上在定义 getInstance 时就已经执行完成了,它只是一个“值”:Singleton.getInstance = (function(){ ... })() //注意这个括号,在这里就已经执行完成输出 log 了。想要深入了解,请阅读 MDN 官方文档立即执行函数表达式。
题主应该是理解为
var a = ...
和var b = ...
时才触发Singleton.getInstance
上的“方法”。但是实际上在定义
getInstance
时就已经执行完成了,它只是一个“值”:想要深入了解,请阅读 MDN 官方文档立即执行函数表达式。