2011-11-29 67 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后面的语法图更易于理解。