JavaScript函数的语法不同?

Dan*_*Dan 5 javascript syntax function

可能重复: JavaScript中的函数表达式与声明之间有什么区别? 这种JavaScript语法到目前为止我还没有看到过,它真正做到了什么?

以下两种函数编写方式有什么区别?我已经看过两个都用过,但我不确定哪一个是'正确的'.

function init() {

}


init: function() {

},
Run Code Online (Sandbox Code Playgroud)

以第二种方式编写它有什么好处?

Pau*_*aul 4

函数声明

function init() {

}
Run Code Online (Sandbox Code Playgroud)

函数表达式

var init = function() {

};
Run Code Online (Sandbox Code Playgroud)

Variable Hoisting主要差异与 JavaScript有关。您可以在这里阅读更多信息:http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoistinghttp://javascriptweblog.wordpress.com/2010/07/06/function-declarations-vs-函数表达式/

通过你的例子,我相信你也对定义anonymous functions感兴趣object literals。这是一个例子:

//obj is the object name
var obj = {
    //init is the property name or key and the anonymous function is the value
    init: function() {
    },
    anotherProp: 'some value'
};
Run Code Online (Sandbox Code Playgroud)

这将像这样使用:

obj.init();
alert(obj.anotherPorp);
Run Code Online (Sandbox Code Playgroud)

在对象字面量中,对象的不同属性是使用key: value语法定义的,并使用逗号分隔它们。

我建议您阅读这个有关 JavaScript 的免费系列http://learn.appendto.com/lessons,它将为您解答许多此类问题,并为您成为 JS 开发人员奠定坚实的基础。


归档时间:

查看次数:

1993 次

最近记录:

10 年,9 月 前