不同的函数声明[重复]
Posted
技术标签:
【中文标题】不同的函数声明[重复]【英文标题】: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 这是一个错字。固定的。谢谢。
【参考方案1】:
当你定义时
function sqrt(x)
return x * x;
是不是函数名出现在Firebug调试器中。
声明为的函数
var sqrtAlt = function (x)
return x * x;
匿名提出。
也可以看看这个Thread
【讨论】:
【参考方案2】:它们基本上是相同的,但在第二个示例中,您另外将函数分配给了一个变量。当覆盖某个对象的现有函数时,这种创建函数的方式非常有用,比如说:
window.alert = function(text)
// Do something ...
;
【讨论】:
有一个非常重要的区别:在第一个示例中,函数在执行上下文开始时可用,在第二个示例中,直到赋值语句执行完毕。以上是关于不同的函数声明[重复]的主要内容,如果未能解决你的问题,请参考以下文章