亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

IE8對JS通過屬性和數(shù)組遍歷解析不一樣的地方探討

 更新時間:2013年05月06日 18:07:44   作者:  
如果是非IE8瀏覽器例如(IE7、IE9、Chrome、FF,僅測試這幾種)通過屬性和數(shù)組遍歷,其結(jié)果是一樣的,但對于IE8,結(jié)果會有一點小小的差異,在IE8下會把原型鏈擴展方法當做一個屬性輸出,大家可以測試一下
以文謹記在此被瀏覽器版本差異的坑。
復制代碼 代碼如下:

Array.prototype.Contains = function (str) {
if (!str)
return false;
for (var i = 0; i < this.length; i++) {
if (this[i] == str) {
return true;
}
}
return false;
}
var tmp = new Array();
tmp.push("1");
tmp.push("2");
tmp.push("3");
alert("遍歷屬性");
for ( var i in tmp ) {
alert(tmp[i]);
}
alert("遍歷數(shù)組");
for ( var i=0;i<tmp.length;i++ ) {
alert(tmp[i]);
}

如果是非IE8瀏覽器,例如(IE7、IE9、Chrome、FF,僅測試這幾種)
通過屬性和數(shù)組遍歷,其結(jié)果是一樣的。
但對于IE8,結(jié)果會有一點小小的差異,在IE8下會把原型鏈擴展方法當做一個屬性輸出,大家可以測試一下。

之所以發(fā)現(xiàn)這個差異,也是因為解決了一個詭異的bug,有同事在代碼里面使用for ( var i in tmp )這種方式來遍歷數(shù)組的每個元素,如果正好對Array定義了原型鏈方法,則會發(fā)生這個問題。
所以建議:如果遍歷數(shù)組元素,還是應該采用標準的寫法 for ( var i=0;i<tmp.length;i++ )。

相關(guān)文章

最新評論