【问题标题】:Different function declarations [duplicate]不同的函数声明[重复]
【发布时间】:2013-03-05 22:32:09
【问题描述】:

有人告诉我,在 JavaScript 中声明函数的方式不止一种。 例如。

// One way
function sqrt(x){
   return x * x;
}

// Second way
var sqrtAlt = function (x){
   return x * x;
}
  • 这两个函数声明有什么区别?
  • 输出相同但必须有理由有两种方式?
  • 我也很好奇您将如何使用它们。
  • 最后,还有其他方法吗?

谢谢。

【问题讨论】:

  • 我觉得第二种方式应该是var sqrtAlt = function(x){ ... }
  • @FabienQuatravaux 这是一个错字。固定的。谢谢。

标签: javascript


【解决方案1】:

当你定义时

function sqrt(x){
   return x * x;
}

是不是函数名出现在Firebug调试器中。

声明为的函数

var sqrtAlt = function (x){
 return x * x;
 }

匿名提出。

也可以看看这个Thread

【讨论】:

    【解决方案2】:

    它们基本上是相同的,但在第二个示例中,您另外将函数分配给了一个变量。当覆盖某个对象的现有函数时,这种创建函数的方式非常有用,比如说:

    window.alert = function(text)
    {
        // Do something ...
    };
    

    【讨论】:

    • 有一个非常重要的区别:在第一个示例中,函数在执行上下文开始时可用,在第二个示例中,直到赋值语句执行完毕。
    猜你喜欢
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    • 2020-04-13
    • 2013-09-27
    相关资源
    最近更新 更多