Javascript 自执行函数是否像编译程序一样工作。即,您可以在自执行函数中的命名匿名函数之后声明某个函数,并让命名匿名函数在运行时定位另一个函数吗?即为什么以下工作?
我认为您不能提升命名匿名函数,因为它们仅在运行时创建,因此可能自执行函数“编译”代码以使命名匿名函数可用于调用它的函数!
(function(){
var myFunc = function(){
var bar = "Bar";
return myFunc2() + bar;
}
function myFunc2(){
return "Foo ";
}
})()
甚至
(function(){
function myFunc(){
var bar = "Bar";
return myFunc2() + bar;
}
var myFunc2 = function(){
return "Foo ";
}
window.fooBar = myFunc();
})()
console.log(fooBar);