国产探花免费观看_亚洲丰满少妇自慰呻吟_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++ )。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 新兴县| 合阳县| 绥芬河市| 行唐县| 洪湖市| 南京市| 南投县| 苗栗县| 五峰| 常山县| 孝昌县| 新源县| 黔南| 泊头市| 泾源县| 余庆县| 应城市| 玉树县| 舞钢市| 闽清县| 类乌齐县| 通化市| 汶川县| 三河市| 和林格尔县| 蚌埠市| 钦州市| 遂宁市| 探索| 闻喜县| 宣武区| 广灵县| 江陵县| 微博| 泸州市| 新余市| 九龙县| 玛曲县| 廊坊市| 晋州市| 桃园县|