欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談js中調用函數時加不加括號的問題

 更新時間:2016年07月28日 09:14:18   投稿:jingxian  
下面小編就為大家?guī)硪黄獪\談js中調用函數時加不加括號的問題 。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

其實總結起來如下:

函數只要是要調用它進行執(zhí)行的,都必須加括號。此時,函數()實際上等于函數的返回值。當然,有些沒有返回值,但已經執(zhí)行了函數體內的行為,這個是根本,就是說,只要加括號的,就代表將會執(zhí)行函數體代碼。

不加括號的,都是把函數名稱作為函數的指針,用于傳參,此時不是得到函數的結果,因為不會運行函數體代碼。它只是傳遞了函數體所在的地址位置,在需要的時候好找到函數體去執(zhí)行。

所以一般時候我們都是采用的是無括號的原因。這也是由于括號的二義性,因為括號是“函數調用運算符”,相當于在執(zhí)行這樣一個函數,所以產生的問題在理解了之后也就理解了。

另外:除了兩邊不加括號,也可以兩邊都加括號來實現函數的拷貝,而不是執(zhí)行函數,如果左邊無圓括號右邊有圓括號,實際就是相當于產生的是一個屬性而不是一個方法了,在調用的時候只用屬性名或者函數名,而不需要再用函數調用運算符圓括號了,因為它就相當于一個屬性,當然也可以用函數調用的方式來調用,加上括號,拿上例子來說就是如果寫成person.sayHello =sayHi(),在調用sayHello的時候就可以直接用person.sayHello或者person.sayHello()了,二者都實現相同的效果。

百度知道的回答:

函數只要是要調用它進行執(zhí)行的,都必須加括號。此時,函數()實際上等于函數的返回值。當然,有些沒有返回值,但已經執(zhí)行了函數體內的行為,這個是根本,就是說,只要加括號的,就代表將會執(zhí)行函數體代碼。

不加括號的,都是把函數名稱作為函數的指針,用于傳參,此時不是得到函數的結果,因為不會運行函數體代碼。它只是傳遞了函數體所在的地址位置,在需要的時候好找到函數體去執(zhí)行。

以上這篇淺談js中調用函數時加不加括號的問題 就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論