對(duì)象無length屬性時(shí)IE6/IE7中無法將其轉(zhuǎn)換成偽數(shù)組(ArrayLike)
更新時(shí)間:2011年07月31日 21:36:13 作者:
對(duì)象無length屬性時(shí)IE6/7中無法將其轉(zhuǎn)換成偽數(shù)組(ArrayLike) 的解決方法,需要的朋友可以參考下。
有時(shí)需要將數(shù)組轉(zhuǎn)成偽數(shù)組(ArrayLike),如下
var ary = ['one','two','three'];
var obj = {}; // 沒有l(wèi)ength屬性
Array.prototype.push.apply(obj, ary);
for(var i in obj){
alert(i + ': ' + obj[i]);
}
IE8/9/Firefox/Safari/Chrome 依次彈出了obj的key及其value。即能轉(zhuǎn)換成ArrayLike。
但I(xiàn)E6/7下則不能,沒有輸出任何信息表明obj仍然是個(gè)空對(duì)象。
如果給obj加個(gè)length屬性,情況則不同
var ary = ['one','two','three'];
var obj = {length:0}; // 有l(wèi)ength,值為0
Array.prototype.push.apply(obj, ary);
for(var i in obj){
alert(i + ': ' + obj[i]);
}
這次IE6/7(所有瀏覽器)中均彈出了key及其value,都能轉(zhuǎn)換成ArrayLike
注意,length只能賦值為0而非它值,否則得到的對(duì)象key和value就不是一一對(duì)應(yīng)的了。
var ary = ['one','two','three'];
var obj = {length:2}; // 有l(wèi)ength,非零值
Array.prototype.push.apply(obj, ary);
for(var i in obj){
alert(i + ': ' + obj[i]);
}
復(fù)制代碼 代碼如下:
var ary = ['one','two','three'];
var obj = {}; // 沒有l(wèi)ength屬性
Array.prototype.push.apply(obj, ary);
for(var i in obj){
alert(i + ': ' + obj[i]);
}
IE8/9/Firefox/Safari/Chrome 依次彈出了obj的key及其value。即能轉(zhuǎn)換成ArrayLike。
但I(xiàn)E6/7下則不能,沒有輸出任何信息表明obj仍然是個(gè)空對(duì)象。
如果給obj加個(gè)length屬性,情況則不同
復(fù)制代碼 代碼如下:
var ary = ['one','two','three'];
var obj = {length:0}; // 有l(wèi)ength,值為0
Array.prototype.push.apply(obj, ary);
for(var i in obj){
alert(i + ': ' + obj[i]);
}
這次IE6/7(所有瀏覽器)中均彈出了key及其value,都能轉(zhuǎn)換成ArrayLike
注意,length只能賦值為0而非它值,否則得到的對(duì)象key和value就不是一一對(duì)應(yīng)的了。
復(fù)制代碼 代碼如下:
var ary = ['one','two','three'];
var obj = {length:2}; // 有l(wèi)ength,非零值
Array.prototype.push.apply(obj, ary);
for(var i in obj){
alert(i + ': ' + obj[i]);
}
您可能感興趣的文章:
相關(guān)文章
javascript省市級(jí)聯(lián)功能實(shí)現(xiàn)方法實(shí)例詳解
這篇文章主要介紹了javascript省市級(jí)聯(lián)功能實(shí)現(xiàn)方法,以不同實(shí)例形式分析了JavaScript實(shí)現(xiàn)省市級(jí)聯(lián)菜單的具體技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10IE6-IE9中tbody的innerHTML不能賦值的解決方法
這篇文章主要介紹了IE6-IE9中tbody的innerHTML不能賦值的解決方法,很實(shí)用,需要的朋友可以參考下2014-09-09JavaScript實(shí)現(xiàn)聯(lián)動(dòng)菜單特效
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)聯(lián)動(dòng)菜單特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01把input初始值不寫value的具體實(shí)現(xiàn)方法
比如制作一個(gè)最常見的,input初始值,一般以前,我都只是寫在input的value里,要把初始值單獨(dú)寫出來,于是我比較傻逼,就用<span>標(biāo)簽寫,定位在input上,讓它單擊和input獲焦上都消失2013-07-07js實(shí)現(xiàn)簡(jiǎn)單隨機(jī)抽獎(jiǎng)的方法
這篇文章主要介紹了js實(shí)現(xiàn)簡(jiǎn)單隨機(jī)抽獎(jiǎng)的方法,涉及字符串的操作、setInterval定時(shí)調(diào)用等技巧,需要的朋友可以參考下2015-01-01微信小程序自定義頂部導(dǎo)航欄并適配不同機(jī)型實(shí)例詳解
這篇文章主要為大家介紹了微信小程序開發(fā)自定義頂部導(dǎo)航欄并適配不同機(jī)型的實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12