我从 Stoyan Stefanov 的一本名为 Object Oriented JavaScript 的书的第 79 页得到了这个例子。真的不知道该做什么,我第一次运行这个程序(按回车键)它返回“未定义”。之后,按照作者的指示,我调用它a();
并收到警报“Worky worky”
我的问题是
a) 我是否正确地完成了第一步?即我应该通过点击“进入/返回”来运行一个自调用程序吗?
b)如果我只是点击“进入/返回”来运行程序是正确的,为什么它会给出“未定义”的结果。作者说,这个程序拒绝引用(在第一次运行时)对函数 actualWork() 的引用?如果它返回一个引用,为什么它被认为是未定义的?它在某种程度上很重要吗?
请注意,我尝试在 jsfiddle.net 中输入代码,然后点击运行并没有发生任何事情,但是当我第一次在控制台中运行它时我得到“未定义”,然后当我执行 a(); 时出现警报。
var a = function() {
function someSetup(){
var setup = 'done';
}
function actualWork(){
alert('Worky-worky');
}
someSetup();
return actualWork;
}();