函數宣告
函數賦值表達式
命名函數的賦值表達式
的賦值表達式
function foo() {}
foo(); // 正常运行,因为foo在代码运行前已经被创建 function foo() {
var foo = function() {};
foo; // 'undefined' foo(); // 出错:TypeError var foo = function() {};
var foo = function bar() { bar(); // 正常运行 } bar(); // 出错:ReferenceError
注意:在IE8及IE8以下版本瀏覽器bar在外部也是可見的,是因為瀏覽器對命名函數賦值表達式進行了錯誤的解析, 解析成兩個函數 foo 和 bar
以上就是JavaScript進階系列-函數宣告與表達式的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!