首页 > Web开发 > 详细

js函数定义的三种方式及比较

时间:2015-11-06 01:26:07      阅读:317      评论:0      收藏:0      [点我收藏+]

一种对于js函数定义比较的理解,下面给出代码进行测试比较

技术分享

/*性能测试*/

var d = new Date();
for (var i = 0; i < 10000; i++) {
function test() {;};
}
var d2 = new Date();
var interval = d2.getTime() - d.getTime();
console.log("function语句式生成函数执行1万次所需时间:" + interval + " ms");

var d3 = new Date();
for (var i = 0; i < 10000; i++) {
var test = new Function();
}
var d4 = new Date();

var interval = d4.getTime() - d3.getTime();
console.log("function构造器生成函数执行1万次所需时间:" + interval + " ms");

var d5 = new Date();
for (var i = 0; i < 10000; i++) {
var test = function() {
;
};
}
var d6 = new Date();

var interval = d6.getTime() - d5.getTime();
console.log("function直接量生成函数执行1万次所需时间:" + interval + " ms");

/*函数的解析机制*/
            function e() {
                console.log("1");    
            }
            e();    //--打印为3
            
            var e = function() {
                console.log("2")
            }
            e();    //--打印为2;
            
            function e() {
                console.log("3");
            }
            e();     //--打印为2;
            
            var e = new Function("console.log(‘4‘)");
            e();     //--打印为4;
/*作用域访问*/
            k = 1;
            function outer() {
                var k = 2;
                var inner = new Function("console.log(k)");        
                inner();
            }
            
            outer();
            
            function outer2() {
                var k = 2;
                var inner = function() {
                    console.log(k);
                };
                inner();
            }
            
            outer2();

 

js函数定义的三种方式及比较

原文:http://www.cnblogs.com/zhaojunyang/p/4941290.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!