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 | 查看次数: 5703