1. 程式人生 > 實用技巧 >javascript立即執行函式簡單介紹

javascript立即執行函式簡單介紹

立即執行函式顧名思義就是宣告一個函式,並立即執行它。而且執行完就釋放控制元件,找不到引用

立即執行函式寫法

(function (形參){  // 寫法1(w3c建議)
    xxx    
}(實參))

(function (形參){  // 寫法2
    xxx        
})(實參)      

但是個人更習慣用第二種寫法,所以這看個人習慣了。

注意!! 只有表示式才能被執行符號()執行,且被執行後忽略函式名

function a(){}() //報錯,因為這是函式申明
var test = function a(){}() //可以執行,這是函式表示式,注意被執行後test為undefined 類似於立即執行函式

立即執行函式也是有返回值,如下

//正常情況
(function (a, b, c) {
    var d = a + b + c
    console.log(d)
}(1, 2, 3))

//有返回值情況
var num = (function (a, b, c) {
    var d = a + b + c
    return d
}(1, 2, 3))
console.log(num)  //6

曾經看過這樣一道題目,如下

//前面說了,理論上該情況上會報錯
function a() {
}() 

//但是如果括號里加引數就不會報錯
function a(a, b, c) {
    console.log(a 
+ b + c) }(1, 2, 3) //不會報錯 也不會執行a函式 //因為如果括號加引數,系統會認為這不是執行符號,這是後會當成兩句程式碼 函式宣告和(1, 2, 3) function a(a, b, c) { console.log(a + b +c) } (1, 2, 3)

end !!!