javascript 函数嵌套调用的效率测试
作者:admin 日期:2013-07-31
Javascript中函数嵌套定义给我们开发带来了很多便利,但是他的效率怎么样呢? 我做了一个简单的测试。
//test
function func1(a, b) {
return (function(a, b){
return (function(a, b){return a+b})();
})();
}
function func2(a, b)
{
var nest1 = function(a, b)
{
var nest11 = function(){
return a+b;
}
return nest11(a+b);
}
return nest1(a,b);
}
function func3(a, b) {
function nest1(a, b){
function nest11(a, b){
return a+b;
}
return nest11(a, b);
}
return nest1(a, b);
}
function nest44(a, b){
return a+b;
}
function nest4(a, b){
return nest44(a, b);
}
function func4(a, b) {
return nest4(a, b);
}
console.time("start1");
for(var i=0; i<1000000; i++) {
func1(1,1);
}
console.timeEnd("start1");
console.time("start2");
for(var i=0; i<1000000; i++) {
func2(1,1);
}
console.timeEnd("start2");
console.time("start3");
for(var i=0; i<1000000; i++) {
func3(1,1);
}
console.timeEnd("start3");
console.time("start4");
for(var i=0; i<1000000; i++) {
func4(1,1);
}
console.timeEnd("start4");
本代码用nodejs看执行,得到如下的结果:
# node test2.js
start1: 190ms
start2: 78ms
start3: 58ms
start4: 11ms
如果一个函数被频繁的调用,将会有一些效率问题了
评论: 0 | 查看次数: 6540
订阅
npm常用命令
Js异步协作

文章来自:
Tags: