【问题标题】:What's the difference between those two function definition?这两个函数定义有什么区别?
【发布时间】:2015-07-11 09:00:30
【问题描述】:

1 种风格

var x = function(xx) {
}

另一个

x : function (xx) {
}

这两种风格有什么区别

【问题讨论】:

  • 第二个不是只能在“json”结构中实现吗?
  • 在 Javascript 对象文字中,具体来说。 JSON 无法序列化函数
  • 你问的是a.x = function(xx){}a = { x: function(xx) {} }之间的区别吗?

标签: javascript


【解决方案1】:

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

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

你的意思可能是:

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

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

【讨论】:

    【解决方案2】:

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

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

    如果这是在一个对象内部,像这样:

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

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

    【讨论】:

      【解决方案3】:

      第一个是将局部变量分配给函数定义

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

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-20
          • 2013-04-03
          • 1970-01-01
          • 1970-01-01
          • 2020-12-29
          相关资源
          最近更新 更多