3
var boo= function foo(){
console.log("I am foo");
}
boo(); // output: I am foo
foo(); // output: Uncaught ReferenceError
我用JavaScript命名的功能有點困惑。任何人都可以解釋爲什麼在上面的代碼片段中,foo()函數調用會拋出錯誤。在此先感謝
var boo= function foo(){
console.log("I am foo");
}
boo(); // output: I am foo
foo(); // output: Uncaught ReferenceError
我用JavaScript命名的功能有點困惑。任何人都可以解釋爲什麼在上面的代碼片段中,foo()函數調用會拋出錯誤。在此先感謝
var boo= function foo(){
函數和函數表達式之間有明顯的區別。
你有什麼是一個表達式解析爲一個變量。你期待的工作方式需要是一個函數或函數表達式解決的變量。
下面是一個匿名函數表達式的一個例子(該名稱是 未使用):
var myFunction = function() { statements }
另外,也可以,以便提供定義中的名稱 創建命名函數表達式:
var myFunction = function namedFunction(){ statements }
創建命名函數表達式的好處之一是,在 的情況下,我們列出了一個錯誤,堆棧跟蹤將包含該函數的名稱 ,從而更容易找到錯誤的來源。
正如我們所看到的,這兩個例子都不以function關鍵字開頭。涉及不以函數開頭的函數的語句是 函數表達式。
你是*命名函數'foo',但這並不意味着將爲它創建一個變量'foo'。 – deceze
var boo = function(){ console.log(「I am foo」); }。你可以像這樣設置javascript命名功能。 – Sanil
真的我沒有想到代碼工作它應該閱讀var boo = function(){...};該任務需要一個匿名函數。 – jidexl21