请解释为什么第一个代码有效,第二个代码无效。我做错了什么?
代码1(工作代码)
test1 = (function() {
var foo = 6;
return function() {
alert(foo);
};
})();
test1();
代码2(不工作)
function test1() {
var foo = 6;
return function() {
alert(foo);
};
};
test1();
答案 0 :(得分:2)
在第二种情况下,您没有调用返回的函数对象。你需要做
test1()();
您可以像这样检查
console.log(typeof test1());
# function