为什么直接调用函数时的不同结果与使其成为函数表达式然后调用变量?
function makeFunc() {
var name = "Mozilla";
function displayName() {
alert(name);
}
return displayName;
}
console.log(makeFunc());
makeFunc(); //no alert
var myFunc = makeFunc();
console.log(myFunc);
myFunc(); //Yes alert
答案 0 :(得分:2)
您必须调用该函数的返回
function makeFunc() {
var name = "Mozilla";
function displayName() {
alert(name);
}
return displayName;
}
makeFunc()(); // alert!