的B/W函数声明&函数式var functionName = function() {} vs function functionName() {}
精美描述在此它提到在分析时该函数声明被评估的差别,&功能表达在执行相函数声明比函数表达式快吗?
评价在bytes.com它的提到函数声明比函数表达式快。
我创建了这一个基本的测试案例:http://jsperf.com/function-declaration-vs-function-expression
函数声明:
function myfunc() {
alert("yo");
}
myfunc();
函数表达式:
var myfunc = function() {
alert("yo");
}
myfunc();
试验表明,函数表达式是慢90%韩函数声明。
为什么这样的速度差异?
编辑:
从结果中http://jsperf.com/function-declaration-vs-function-expression
在Chrome, IE9, Opera & Safari
- >函数声明比函数表达式更快
在Firefox, IE7, IE8
- >函数表达式比函数声明更快
在IE9函数声明更快,而在IE 7中& 8函数表达式更快。 是因为IE9中JavaScript引擎的变化,还是此举有意?
你使用什么浏览器或JavaScript引擎? – 2011-03-25 14:37:22
它实际上在Firefox中更快。 – 2011-03-25 14:38:58
这些结果是非常有趣的,而在Chrome和Opera中它的速度却慢了90%,实际上它在FF中速度更快。我会说,这并不重要,因为如果你声明了足够的功能,这会成为一个问题,那么你做错了什么。 – idbentley 2011-03-25 14:40:27