javascript - 這段js程式碼是怎麼理解?
PHP中文网
PHP中文网 2017-06-26 10:57:20
0
3
721

#我的疑惑是把這個函數包起來的括號是啥意思,閉包?
然後還在方法後面的這個(1)是將參數1帶入這個匿名方法?
這個小括號的詞法是執行的意思還是隔離方法?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(3)
typecho

立即執行的意思,傳入參數1

(function(x){

})(1)
巴扎黑

這是一個立即執行函數,立即執行函數構造了一個函數作用域,可以起到隔離的作用,避免污染全域作用域,傳入1是傳入參數,立即執行函數與可以用來解決閉包問題。但是和閉包並沒有直接聯絡。

给我你的怀抱

匿名函數沒有函數名,無法調用,括號把函數宣告括起來,就不再是一個函數聲明,而是一個函數表達式。後面加()也就是是立即執行函數,1是參數,由裡面的x來接收。
你可以理解為

var foo = function(x){
    delete x;
    return x;
};
foo(1);
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板