關(guān)于JS中的方法是否加括號(hào)的問(wèn)題
在我們js編寫(xiě)程序的時(shí)候,我們會(huì)寫(xiě)很多函數(shù)然后調(diào)用它們,那么這些函數(shù)調(diào)用的時(shí)候什么時(shí)候加()什么時(shí)候不加()?記住以下幾個(gè)要點(diǎn)。
(1)函數(shù)做參數(shù)時(shí)都不要括號(hào)。
function fun(e) {
alert(e);
}
function A(fun, e) {
fun(e);
}
A(fun, 3);//彈出'3',函數(shù)fun當(dāng)做實(shí)參傳入另一個(gè)函數(shù)時(shí),不加()
(2)函數(shù)被調(diào)用的時(shí)候都要加括號(hào)。
看上面那段代碼,第9行函數(shù)A被調(diào)用的時(shí)候是A();
(3)函數(shù)作為賦值符號(hào)右邊的時(shí)候,當(dāng)無(wú)()時(shí)傳遞的是函數(shù)這個(gè)對(duì)象,有()時(shí)傳遞的是函數(shù)的返回值。
function Fun() { return 1; }
var a = Fun(); //此時(shí)的a = 1
var b = Fun; //b是一個(gè)函數(shù)的引用
不加()的函數(shù)名作為了一個(gè)函數(shù)的引用,或者說(shuō)是一個(gè)指針,用于傳遞函數(shù)所在的位置,需要時(shí)找到這個(gè)函數(shù)去執(zhí)行。
相關(guān)文章
layui框架中l(wèi)ayer父子頁(yè)面交互的方法分析
這篇文章主要介紹了layui框架中l(wèi)ayer父子頁(yè)面交互的方法,結(jié)合實(shí)例形式分析了layer父子頁(yè)面交互的常用技巧以及l(fā)ayer彈出多個(gè)iframe找到父頁(yè)面的操作方法,需要的朋友可以參考下2017-11-11
localResizeIMG先壓縮后使用ajax無(wú)刷新上傳(移動(dòng)端)
隨著技術(shù)的發(fā)展,移動(dòng)設(shè)備像素越來(lái)越高,但是這么大的圖片怎么上傳呢?下面小編就給大家一起學(xué)習(xí)移動(dòng)端圖片上傳的方法之localResizeIMG先壓縮后使用ajax無(wú)刷新上傳,需要的朋友可以參考下2015-08-08
JS實(shí)現(xiàn)網(wǎng)頁(yè)上隨滾動(dòng)條滾動(dòng)的層效果代碼
這篇文章主要介紹了JS實(shí)現(xiàn)網(wǎng)頁(yè)上隨滾動(dòng)條滾動(dòng)的層效果代碼,涉及JavaScript頁(yè)面元素屬性的獲取、運(yùn)算及設(shè)置等操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11

