帶括弧和不帶括弧的 JavaScript 函數調用的區別
相關標籤:1.JavaScript example
2. Prototypes and Inheritance in JavaScript
引言:function fun() { return 1; } var a = fun; var b = fun(); 在 JavaScript 中,我們稱以下代碼為函數:function fun() { return 1; } 函數是一種參考型別,因此函數是一個對象。該Object Storage Service在記憶體中,函數名是指向該對象的指標。var
function fun ( ) {
return 1 ;
}
var a = fun;
var b = fun( );
在 JavaScript 中我們稱以下代碼為函數:
function fun ( ) {
return 1 ;
}

函數是參考型別 function 的執行個體,因此函數是一個對象。該Object Storage Service在記憶體中,函數名是指向該對象的指標。
var a = fun 表示將函數名 fun 的指標複製給變數 a,但這並不意味著函數本身被複製。
即:a 是 fun 函數,b 是 1
如果函數名後面帶括弧,表示立即調用(執行)函數體內的代碼(花括弧內的代碼)。
(JavaScript 函數調用帶括弧和不帶括弧的區別)
不帶括弧時,函數名作為函數的指標使用。函數名是函數的指標,此時不會擷取函數的結果,因為函數體代碼不會被運行。它只是傳遞了函數體所在的地址,以便在需要時找到函數體並執行。
例如:
window.onload = init ;
init 函數在這行代碼執行時不會被運行。當瀏覽器載入文檔時,這句代碼會被載入,告知瀏覽器在文檔載入完成後執行哪個函數,但當時並不執行,直到整個文檔載入完畢後,才會通過 init 指標執行 init()。
註:本文部分內容參考自:
https://www.zhihu.com/question/31044040
http://blog.csdn.net/yyx19941129/article/details/49642515
作者:jiankunking 來源:http://blog.csdn.net/jiankunking
著作權聲明:本文內容由阿里雲實名認證使用者貢獻,著作權歸原作者所有。阿里雲開發人員社區不擁有著作權,也不承擔相應的法律責任。具體規則請參閱“阿里雲開發人員社區使用者服務協議”和“阿里雲開發人員社區智慧財產權保護指引”。如發現本社區內容涉嫌抄襲,請填寫侵權投訴表單進行舉報。一經核實,本社區將立即刪除涉嫌侵權的內容。
2. Prototypes and Inheritance in JavaScript
引言:function fun() { return 1; } var a = fun; var b = fun(); 在 JavaScript 中,我們稱以下代碼為函數:function fun() { return 1; } 函數是一種參考型別,因此函數是一個對象。該Object Storage Service在記憶體中,函數名是指向該對象的指標。var
function fun ( ) {
return 1 ;
}
var a = fun;
var b = fun( );
在 JavaScript 中我們稱以下代碼為函數:
function fun ( ) {
return 1 ;
}

(JavaScript 函數調用帶括弧和不帶括弧的區別)
函數是參考型別 function 的執行個體,因此函數是一個對象。該Object Storage Service在記憶體中,函數名是指向該對象的指標。
var a = fun 表示將函數名 fun 的指標複製給變數 a,但這並不意味著函數本身被複製。
即:a 是 fun 函數,b 是 1
如果函數名後面帶括弧,表示立即調用(執行)函數體內的代碼(花括弧內的代碼)。
(JavaScript 函數調用帶括弧和不帶括弧的區別)
不帶括弧時,函數名作為函數的指標使用。函數名是函數的指標,此時不會擷取函數的結果,因為函數體代碼不會被運行。它只是傳遞了函數體所在的地址,以便在需要時找到函數體並執行。
例如:
window.onload = init ;
init 函數在這行代碼執行時不會被運行。當瀏覽器載入文檔時,這句代碼會被載入,告知瀏覽器在文檔載入完成後執行哪個函數,但當時並不執行,直到整個文檔載入完畢後,才會通過 init 指標執行 init()。
註:本文部分內容參考自:
https://www.zhihu.com/question/31044040
http://blog.csdn.net/yyx19941129/article/details/49642515
作者:jiankunking 來源:http://blog.csdn.net/jiankunking
著作權聲明:本文內容由阿里雲實名認證使用者貢獻,著作權歸原作者所有。阿里雲開發人員社區不擁有著作權,也不承擔相應的法律責任。具體規則請參閱“阿里雲開發人員社區使用者服務協議”和“阿里雲開發人員社區智慧財產權保護指引”。如發現本社區內容涉嫌抄襲,請填寫侵權投訴表單進行舉報。一經核實,本社區將立即刪除涉嫌侵權的內容。
相關文章
-
6種可選的資料存放區技術
知識庫團隊
探索更多特惠
-
Short Message Service(簡訊)和郵件服務
50,000 郵件套餐低至 1.99 美元,120 條簡訊僅需 1.00 美元起
