国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:48:01
字體:
來源:轉載
供稿:網友
如果是非IE8瀏覽器例如(IE7、IE9、Chrome、FF,僅測試這幾種)通過屬性和數組遍歷,其結果是一樣的,但對于IE8,結果會有一點小小的差異,在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("遍歷數組");
for ( var i=0;i<tmp.length;i++ ) {
alert(tmp[i]);
}


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

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

圖片精選

主站蜘蛛池模板: 巩义市| 弋阳县| 富宁县| 大安市| 黑龙江省| 齐河县| 库伦旗| 福州市| 昌吉市| 稷山县| 韶山市| 洪湖市| 马山县| 大理市| 彭水| 乌拉特后旗| 巴南区| 射洪县| 交口县| 革吉县| 安陆市| 桓台县| 岢岚县| 新化县| 通河县| 六安市| 綦江县| 丹江口市| 永宁县| 和政县| 辽源市| 抚松县| 岗巴县| 阳信县| 鱼台县| 巧家县| 万全县| 邵武市| 大渡口区| 株洲县| 偏关县|