这两个函数定义之间的区别是什么?

时间:2015-07-11 09:00:31

标签: javascript

1风格

var x = function(xx) {
}

另一个

x : function (xx) {
}

这两种风格之间的区别

4 个答案:

答案 0 :(得分:2)

在第一种情况下,评估函数表达式的结果(即结果函数 - 评估不是调用)被赋给变量。

在第二种情况下,您从label开始,然后出现语法错误。

你可能意味着:

var foo = {
    x : function (xx) {
    }
}

...这是object literal,其中函数被分配给新对象的属性而不是变量。

答案 1 :(得分:0)

第一个是将匿名函数赋值给变量x

秒根本不是有效的JavaScript,至少你是如何展示它的。

如果这是在一个对象内,如下所示:

var dog = {
   x : function (xx) {
   }
};

它只是一个包含匿名函数的属性。

答案 2 :(得分:0)

第一个是将局部变量赋值给函数定义

第二种是使用对象表示法将函数分配给对象成员。 即。

var obj = {
  x : function (y) { }
};

答案 3 :(得分:-1)

在第一种情况下,我们将函数绑定到全局范围内的javascript变量。所以在第一种情况下,该函数被绑定到windows对象中的'x'键。

在第二种情况下,函数绑定到您计划添加“x”键的对象。