我在研究Immediatly調用函數表達式(IIFE)的行爲,並在做這件事時遇到以下情況。爲什麼這個分組操作符+函數立即調用
(function() {
document.write("bar");
})
(function() {
document.write("foo");
}());
我認爲第一個只是一個帶有函數表達式的分組操作符而沒有調用它。第二個是一個分組操作符以及一個函數表達式,但現在可以調用該函數。
我覺得奇怪的是,兩者都被調用,爲什麼?
(function() {
document.write("bar");
})
var x = 1;
(function() {
document.write("foo");
}());
當我通過在兩者之間插入一個變量聲明來解決這兩個問題時,它只是寫入foo。這是我的預期。
提示:使用http://www.jshint.com/ – elclanrs 2013-02-11 11:08:32