我们可以通过两种方式编写函数:
var v1 = m1('hello'); // error
var v2 = m2('hello'); // OK
var m1 = function(param){
// ...
return param;
}
function m2(param){
// ...
return param;
}
var v1 = m1('hello'); // OK
var v2 = m2('hello'); // OK
据我所知,只有一个区别——创建时间:
m2
在编译时间,所以我们可以在“声明之前”使用它——就像我的例子一样。
m1
在分配时间(代码逐行),我们之前不能使用它。
一种对内存或性能更有效吗?
在哪种情况下更语义化,在哪种情况下是第二种?
这是下一个区别吗?
我们什么时候应该使用第一个,什么时候应该使用第二个?
.
//编辑真正原始的性能测试 -结果相同
// http://jsperf.com/performance-function-writing-way