在研究闭门器主题时,我提出了一个简单的问题。
例如,这些代码有效:
!function (){
console.log(true)
}();
(function (){
console.log(true)
})(); // doesn't work when 'use strict' is defined
var varName = function (){
console.log(true)
}();
这些代码不起作用:
function (){
console.log(true)
}();
function funcName (){
console.log(true)
}();
的问题:
什么是这个简单的规则支持自我调用函数?或者他们只需要拥有自己的词汇环境而不能作为一般对象存在?