日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

詳細(xì)整理 js優(yōu)化針對IE6.0起作用( 二 )


}
var end = new Date().getTime();
alert("用時(shí):"(end - start)"毫秒");
}
//效率高的
function func2(){
var divs = document.getElementsByTagName("div");
var start = new Date().getTime();
for(var i = 0, len = divs.length; ilen; i){
//"效率高"
}
var end = new Date().getTime();
alert("用時(shí):"(end - start)"毫秒");
}

詳細(xì)整理 js優(yōu)化針對IE6.0起作用


由上表可以看出,在IE6.0下,其差別是非常明顯,而在Firefox和Chrome下幾乎沒有差別,之所以在IE6.0下會有這種情況,主要是因?yàn)閒or循環(huán)在執(zhí)行中,第一種情況會每次都計(jì)算一下長度,而第二種情況卻是在開始的時(shí)候計(jì)算長度,并把其保存到一個(gè)變量中,所以其執(zhí)行效率要高點(diǎn),所以在我們使用for循環(huán)的時(shí)候,特別是需要計(jì)算長度的情況,我們應(yīng)該開始將其保存到一個(gè)變量中 。但是并不是只要是取長度都會出現(xiàn)如此明顯的差別,如果我們僅僅是操作一個(gè)數(shù)組,取得的是一個(gè)數(shù)組的長度,那么其實(shí)兩種方式的寫法都差不多,我們看下面的例子:
復(fù)制代碼 代碼如下:
input type="button" value="https://www.rkxy.com.cn/dnjc/效率低" onclick="func1()" /
input type="button" value="https://www.rkxy.com.cn/dnjc/效率高" onclick="func2()" /
var arr2 = [];
for(var i = 0; i10000; i){
arr2[i] = "div"i"/div";
}
//效率低的
function func1(){
var start = new Date().getTime();
for(var i = 0; iarr2.length; i){
//"效率低"
}
var end = new Date().getTime();
alert("用時(shí):"(end - start)"毫秒");
}
//效率高的
function func2(){
var start = new Date().getTime();
for(var i = 0, len = arr2.length; ilen; i){
//"效率高"
}
var end = new Date().getTime();
alert("用時(shí):"(end - start)"毫秒");
}

詳細(xì)整理 js優(yōu)化針對IE6.0起作用


從上表可以看出,如果僅僅是一個(gè)數(shù)組的話,我們看到其實(shí)兩種寫法都是差不多的,其實(shí)如果我們把循環(huán)再上調(diào)到100000次的話,也僅僅是差別幾毫秒而已,所以在數(shù)組的情況下,我認(rèn)為都是一樣的 。對于for循環(huán)的優(yōu)化,也有人提出很多點(diǎn),有人認(rèn)為用-=1,或者從大到小的方式循環(huán)等等,我認(rèn)為是完全沒有必要的,這些優(yōu)化往往實(shí)際情況下根本沒有表現(xiàn)出來,換句話說只是計(jì)算機(jī)級別的微小的變化,但是給我們帶來的卻是代碼的可讀性大大的降低,所以實(shí)在是得不償失 。
3、減少頁面的重繪
減少頁面重繪雖然本質(zhì)不是JS本身的優(yōu)化,但是其往往是由JS引起的,而重繪的情況往往是嚴(yán)重影響頁面性能的,所以完全有必要拿出來,我們看下面例子:
復(fù)制代碼 代碼如下:
div id="demo"/div
input type="button" value="https://www.rkxy.com.cn/dnjc/效率低" onclick="func1()" /
input type="button" value="https://www.rkxy.com.cn/dnjc/效率高" onclick="func2()" /
var str = "div這是一個(gè)測試字符串/divdiv這是一個(gè)測試字符串/divdiv這是一個(gè)測試字符串/divdiv這是一個(gè)測試字符串/divdiv這是一個(gè)測試字符串/divdiv這是一個(gè)測試字符串/divdiv這是一個(gè)測試字符串/divdiv這是一個(gè)測試字符串/divdiv這是一個(gè)測試字符串/divdiv這是一個(gè)測試字符串/divdiv這是一個(gè)測試字符串/divdiv這是一個(gè)測試字符串/divdiv這是一個(gè)測試字符串/div";
//效率低的
function func1(){
var obj = document.getElementById("demo");
var start = new Date().getTime();
for(var i = 0; i100; i){
obj.innerHTML= stri;
}
var end = new Date().getTime();
alert("用時(shí) "(end - start)" 毫秒");
}
//效率高的
function func2(){

推薦閱讀