可能重複:
What is the purpose of a self executing function in javascript?這是什麼意思在javascript:VAR OBJ =(函數(){...})()
請,有人可以解釋我這是什麼意思在JS:
var obj = (function(){
// code
})()
感謝
可能重複:
What is the purpose of a self executing function in javascript?這是什麼意思在javascript:VAR OBJ =(函數(){...})()
請,有人可以解釋我這是什麼意思在JS:
var obj = (function(){
// code
})()
感謝
這是立即執行的匿名函數。它的返回值分配給obj
。例如:
var obj = (function() {
return 10;
}()); //Notice that calling parentheses can go inside or outside the others
console.log(obj); //10
他們經常被用來引入一個新的範圍,所以你不要雜亂的代碼在執行範圍:
var obj = (function() {
var something = 10; //Not available outside this anonymous function
return something;
}());
console.log(obj); //10
注意,因爲這是一個功能表達 ,而不是函數聲明,它應該在關閉花括號後面有一個分號。
它被稱爲立即實例化函數。它運行該函數,並將返回值分配給obj
。您可以使用它創建一個範圍或類,您可以在其中使用閉包將某些變量保留在該範圍內。關於這個問題請參閱John Resigs page。
因此,如果函數是這樣的:
var obj = (function(n){
return 2+n;
})(3);
的obj
的價值將是5
非常感謝 - ) – WHITECOLOR
@WHITECOLOR - 不客氣,很高興我可以幫助:) –