2017-03-01 184 views
2

這是什麼意思?這是什麼意思? !function()

!function a(){ 
}({ 
x: [function(){alert(2);}] 
}) 

當我閱讀鉻擴展中的一些代碼時,我發現這塊代碼。我很困惑這應該如何工作。

+0

鏈接的重複解釋了'函數(){}()'的一部分!關於'{x:[function(){alert(2);}]}'部分,它創建了一個屬性的對象,該屬性是一個包含一個函數元素的數組,但函數'a()有一個空的身體,所以它不會做任何事情.. – nnnnnn

回答

2

這只是另一種編寫IIFE的方法,使用!運算符而不是括號。有多種運營商可以使用這種方法:

! function(text) { 
 
    console.log(text); 
 
}('hello');

相關問題