簡體   English   中英

函數表達式與直接調用

[英]function expression versus directly calling

為什么直接調用函數與使其成為函數表達式然后調用變量時會有不同的結果?

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

您必須調用函數的返回

 function makeFunc() { var name = "Mozilla"; function displayName() { alert(name); } return displayName; } makeFunc()(); // alert! 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM