JavaScript函数语法说明:function object.myFunction(){..}

时间:2011-11-29 05:46:54

标签: javascript syntax

我认为自己能够合理地使用JavaScript并熟悉实现相同功能的许多不同方法。但今天我遇到了一些我以前从未见过的函数语法:

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

如果我要编写这样的代码,我会这样做:

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

忽略这不是处理onload事件的最佳方式,这实际上是有效的JavaScript吗?它似乎导致FireFox(和JSLint)中的语法错误,所以我猜它只是Internet Explorer的语法?如果它只是IE浏览器,那么我想删除它,但我担心它可能会产生一些古怪的副作用。

2 个答案:

答案 0 :(得分:10)

function document.body.onload是非标准的JavaScript语法。使用第二种格式,并解雇任何人编写原始代码。

不要忘记结束} 后的分号
document.body.onload = function () {
    ...code...
}; //this is easy to miss

答案 1 :(得分:1)

不,它无效。 function X() {}变体要求函数的名称只包含字母,数字,'$'和'_'。

如果您想查看其他语法,可以get the standard here,但JavaScript: The Good Parts后面的语法图表更容易理解。