#我的疑惑是把這個函數包起來的括號是啥意思,閉包? 然後還在方法後面的這個(1)是將參數1帶入這個匿名方法? 這個小括號的詞法是執行的意思還是隔離方法?
认证高级PHP讲师
立即執行的意思,傳入參數1
(function(x){ })(1)
這是一個立即執行函數,立即執行函數構造了一個函數作用域,可以起到隔離的作用,避免污染全域作用域,傳入1是傳入參數,立即執行函數與可以用來解決閉包問題。但是和閉包並沒有直接聯絡。
匿名函數沒有函數名,無法調用,括號把函數宣告括起來,就不再是一個函數聲明,而是一個函數表達式。後面加()也就是是立即執行函數,1是參數,由裡面的x來接收。 你可以理解為
()
1
x
var foo = function(x){ delete x; return x; }; foo(1);
立即執行的意思,傳入參數1
這是一個立即執行函數,立即執行函數構造了一個函數作用域,可以起到隔離的作用,避免污染全域作用域,傳入1是傳入參數,立即執行函數與可以用來解決閉包問題。但是和閉包並沒有直接聯絡。
匿名函數沒有函數名,無法調用,括號把函數宣告括起來,就不再是一個函數聲明,而是一個函數表達式。後面加
()
也就是是立即執行函數,1
是參數,由裡面的x
來接收。你可以理解為