搜尋

首頁  >  問答  >  主體

javascript - 這段js程式碼是怎麼理解?

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

PHP中文网PHP中文网2740 天前752

全部回覆(3)我來回復

  • typecho

    typecho2017-06-26 10:59:20

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

    (function(x){
    
    })(1)

    回覆
    0
  • 巴扎黑

    巴扎黑2017-06-26 10:59:20

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

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-06-26 10:59:20

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

    var foo = function(x){
        delete x;
        return x;
    };
    foo(1);

    回覆
    0
  • 取消回覆