关于函数变量以下两个例子哪个会更优化一点
var i = 0, len = 1000*1000*1000, x = 2, y = true, z ='3.2';
//demo0
var demo = function(a, b, c) {
return a*b*c;
};
console.time('demo0');
for (i = 0 ;i < len; i++) {
demo(x, y ,z);
}
console.timeEnd('demo0');
//demo1
var demo = (function(a, b, c) {
return a*b*c;
}).bind(null, x, y ,z);
console.time('demo1');
for (i = 0 ;i < len; i++) {
demo();
}
console.timeEnd('demo1');
//demo2
demo = function() {
var a = x,
b = y,
c = z;
return a*b*c;
};
console.time('demo2');
for (i = 0 ;i < len; i++) {
demo();
}
console.timeEnd('demo2');
这三个例子的区别在于变量。
实际上第三种最快。为什么呢?
我在nodejs里执行的结果
在浏览器中执行的结构
qq_遁去的一_1
叮当猫咪
相关分类