这个问题在这里已经有了答案:
var functionName = function(){} vs function functionName(){} 32个答案 在JavaScript中首选命名函数或匿名函数? [复制] 4个答案
这已经在StackOverflow中多次得到解答。 这只是命名方式。 因此,从答案中拿出一些观点,我会说:
函数声明和变量声明总是通过JavaScript解释器无形地移动(“悬挂”)到其包含范围的顶部。 显然,函数参数和语言定义的名称已经存在。
优点缺点:
命名功能几乎没有什么优势:
meta分析的名称。 functionInstance.name
会显示你的名字。 更重要的是,该名称将被打印在堆栈轨迹中。 名字也有助于编写自我记录或识字代码。 命名函数表达式有一个缺点
IE有NFE的内存泄漏 另一个主要区别
区别在于functionTwo
在脚本块的parse-time中定义,而functionOne
在运行时定义。 例如:
<script>
// Error
functionOne();
var functionOne = function() {
}
</script>
<script>
// No error
functionTwo();
function functionTwo() {
}
</script>
参考
var functionName = function(){} vs function functionName(){} 在JavaScript中首选命名函数或匿名函数? 命名函数表达式被揭秘 函数声明与函数表达式。 var functionName = function(){} vs function functionName(){}
第一个是命名函数表达式,它应该返回一些值给调用者。 第二个只是一个功能,不管你是否回报价值都取决于你
链接地址:
http://www.djcxy.com/p/96287.html
上一篇:
What is the difference between these two?
下一篇:
Why Firefox fires load event much earlier than Chrome