网站地图    收藏   

主页 > 前端 > javascript >

javascript 函数嵌套调用的效率测试

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] 本文章来给大家介绍一下关于javascript 函数嵌套调用的效率测试,希望大家明白函数重复调用的一些性能而进行优化与为避免了。...

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

如果一个函数被频繁的调用,将会有一些效率问题了

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论