JavaScript中变量声明效率问题


1
var theString1 = "字符串1"; 2 var theString2 = "字符串1"; 3 var theString3 = "字符串1"; 4 var theString = { 5   theString1: "字符串1", 6   theString2: "字符串1", 7   theString3: "字符串1", 8 } 9 10 var time1 = new Date(); 11 for(var i =0; i<100000000; i++){ 12   var thisString = theString1 + theString2 + theString3; 13 } 14 var time2 = new Date(); 15 console.log(" 变量(time2-time1)--->",(time2-time1)); 16 17 var time3 = new Date(); 18 for(var i =0; i<100000000; i++){ 19   var thisString = theString.theString1 + theString.theString2 + theString.theString3; 20 } 21 var time4 = new Date(); 22 console.log(" 变量(time4-time3)--->",(time4-time3)); 23 //输出结果: 24 变量(time2-time1)---> 1387 25 变量(time4-time3)---> 1465

以上可以看到,如果单独定义一个变量,独自访问该变量的值时,访问速度要比定义多个变量要慢。

理由的话,应该是JavaScript中访问变量中具体值时:【theVar1】的形式要比【theVar.theVar1】要快。也就是说,【多个具有联系的常量值独自定义成多个变量】的做法的效率要比【多个具有联系的常量值定义成一个变量的多个属性】来得高。

不过,在实际项目中,【多个具有联系的常量值独自定义成多个变量】的做法的可读性要比【多个具有联系的常量值定义成一个变量的多个属性】的可读性要差上多倍。

测试于:20190801,谷歌浏览器;

 

posted @ 2019-07-31 13:53  方朝端  阅读(247)  评论(0编辑  收藏  举报

我的页脚HTML代码