可能重複:
What does this mean? (function (x,y)){…}){a,b); in JavaScript你能解釋一下javascript中的函數嗎?
(function(){
var foo = 'Hello world';
})();
我不知道有什麼用呢?這是什麼意思?
可能重複:
What does this mean? (function (x,y)){…}){a,b); in JavaScript你能解釋一下javascript中的函數嗎?
(function(){
var foo = 'Hello world';
})();
我不知道有什麼用呢?這是什麼意思?
它自己除了聲明一個未使用的變量外什麼都不做 - 它應該調用一些其他函數來做一些有用的事情。
這就是說,你有什麼是立即調用的函數表達式,即匿名函數:
function() { ... }
被調用不帶參數:
(f....)();
的理由有兩個方面:
這立即調用一個匿名函數。
看一看這裏:What does this 「(function(){});」, a function inside brackets, mean in javascript ?
它有時也被稱爲閉包,因爲它所做的只是創建一個新的範圍 –
這是一個匿名函數,立即執行。
這個想法是創建一個私人範圍。通常會從匿名函數返回一個閉包,該閉包保留對該範圍中創建的變量的訪問。
例如
var greet = (function() {
var foo = 'Hello world';
return function() {
alert(foo);
}
}());
greet();
每個函數表達沒有名字是匿名函數。 –