以上可以看到,如果單獨定義一個變數,獨自訪問該變數的值時,訪問速度要比定義多個變數要慢。 理由的話,應該是JavaScript中訪問變數中具體值時:【theVar1】的形式要比【theVar.theVar1】要快。也就是說,【多個具有聯繫的常量值獨自定義成多個變數】的做法的效率要比【多個具有聯繫的常 ...
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,谷歌瀏覽器;