2011-11-29 76 views
5

我認爲自己可以合理地使用JavaScript並熟悉實現同一事物的許多不同方法。JavaScript函數語法說明:function object.myFunction(){..}

function document.body.onload() 
{ 
    alert('loaded'); 
} 

如果我寫這樣的代碼,我會做這樣的::但是今天我碰到,我還沒有看到之前的一些函數的語法來

document.body.onload = function() 
{ 
    alert('loaded'); 
} 

忽略了一個事實,這是不是處理onload事件的最佳方式,這是真正有效的JavaScript嗎?它似乎會導致FireFox(和JSLint)中的語法錯誤,所以我猜測它只是Internet Explorer語法?如果它只是IE瀏覽器,我想刪除它,但我擔心它可能有一些古怪的副作用。

回答

10

function document.body.onload是非標準的JavaScript語法。使用第二種格式,並激發任何人編寫原始代碼。

}
document.body.onload = function() { 
    ...code... 
}; //this is easy to miss 
1

不,這不是有效後,不要忘了分號。 function X() {}變體要求函數的名稱只包含字母,數字'$'和'_'。

如果您想檢查其他語法,可以使用get the standard here,但JavaScript: The Good Parts後面的語法圖更易於理解。