1.立即執行函數
https://blog.csdn.net/qq_34391038/article/details/52318356
getajax = (function(){
alert("hello");
function dosomething(){
alert("world");
}
return {do : dosomething};
})();//此處函數已經執行完畢,所以getajax是返回值,而不是函數
getajax.do();//此處執行dosomething函數
前文講到如何在聲明函數後立即執行函數,那麼如何如果要向聲明的函數傳遞參數要怎麼辦呢,
只需要在括號中傳入相應的參數即可。
在js中,參數不僅可以是string,還可以是對象,於是
這個方法將jQuery對象作爲參數傳入函數,而是函數的形參,其作用類似於jQuery的noconflict方法,可以在方法內部使用,防止與其它js類庫衝突。
還可以更進一步,使用函數作爲函數的參數
此處將匿名函數 function(para){alert(para);}
作爲參數傳入第一個函數,factory是形參,而匿名函數是實參,在第一個函數內部再次調用匿名函數。所以我們也可以這樣
這樣,可以在第一個匿名函數內將jQuery傳入第二個匿名函數,而在第二個函數內部使用,而且這個用法可以根據需要爲傳入不同的實參,可以是jQuery,也可以是其它的prototype等。