javascript高階程式設計之--自執行函式
阿新 • • 發佈:2018-11-01
什麼是自執行函式?
顧名思義.就是不用呼叫,自己自動就會執行的函式;
為什麼要用自執行函式?
自執行函式內部是一個獨立的作用域,這樣就保持了一個相對獨立的名稱空間,避免汙染全域性作用域
怎麼建立自執行函式?
寫法一:(function(param){…})(re—param);
寫法二:(function(param){…}(re-param));
非主流寫法:在函式體前使用“+”,“-”,“!”;如!function(param){...}(re-param)同”()“一樣,這些符號的作用是將匿名函式或者函式宣告轉化為函式表示式;
舉個栗子:
書寫自執行函式的注意事項://寫法一 (function(params) { console.log(params) })("呵呵");//呵呵 //使用+; +function (params) { console.log(params) }("呵呵");//呵呵 // 使用-; -function (params) { console.log(params) }("呵呵");//呵呵 // 使用! !function (params) { console.log(params) }("呵呵");//呵呵 //寫法二 (function (param){ console.log(param) }("嘿嘿"));//嘿嘿
1.函式體後面必須要有(),表示立即執行嘛!
2.函式體必須是函式表示式而不是函式宣告;
函式體是函式宣告的形式:
舉個栗子
(function Alert(param,param1){ console.log(param+param1) })("Alibaba","Tecent");//不是說自執行函式,函式體不能使用函式宣告嘛?為什麼這裡可以使用呢?, //因為這裡使用了()包裹著了函式體,將原函式宣告轉化為了函式表示式,同理其他符號也是一樣 +function Alert(param, param1) { console.log(param + param1) }("Alibaba", "Tecent")