欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js中將HTMLCollection/NodeList/偽數(shù)組轉(zhuǎn)換成數(shù)組的代碼

 更新時(shí)間:2011年07月31日 21:51:16   作者:  
js中將HTMLCollection/NodeList/偽數(shù)組轉(zhuǎn)換成數(shù)組的代碼,需要的朋友可以參考下。
這里把符合以下條件的對(duì)象稱為偽數(shù)組
1,具有l(wèi)ength屬性
2,按索引方式存儲(chǔ)數(shù)據(jù)
3,不具有數(shù)組的push,pop等方法

1,function內(nèi)的arguments 。
2,通過document.forms,F(xiàn)orm.elements,Select.options,document.getElementsByName() ,document.getElementsByTagName() ,childNodes/children 等方式獲取的集合(HTMLCollection,NodeList)等。
3,特殊寫法的對(duì)象 ,如
復(fù)制代碼 代碼如下:

var obj={};
obj[0] = "一";
obj[1] = "二";
obj[2] = "三";
obj.length = 3;

它們不具有數(shù)組的一些方法如push, pop, shift, join等。有時(shí)候需要將這些偽數(shù)組轉(zhuǎn)成真正的數(shù)組,這樣可以使用push, pop等方法。以下是工具函數(shù)makeArray
復(fù)制代碼 代碼如下:

var makeArray = function(obj){
return Array.prototype.slice.call(obj,0);
}
try{
Array.prototype.slice.call(document.documentElement.childNodes, 0)[0].nodeType;
}catch(e){
makeArray = function(obj){
var res = [];
for(var i=0,len=obj.length; i<len; i++){
res.push(obj[i]);
}
return res;
}
}

以下分別測(cè)試以上三種偽數(shù)組
復(fù)制代碼 代碼如下:

//定義一個(gè)函數(shù)fun,內(nèi)部使用makeArray將其arguments轉(zhuǎn)換成數(shù)組
function fun(){
var ary = makeArray(arguments);
alert(ary.constructor );
}
//調(diào)用
fun(3,5);

//假設(shè)頁(yè)面上有多個(gè)段落元素p
var els = document.getElementsByTagName("p");
var ary1 = makeArray(els);
alert(ary1.constructor);

//特殊的js對(duì)象(如jquery對(duì)象)
var obj={};
obj[0] = "一";
obj[1] = "二";
obj[2] = "三";
obj.length = 3;
var ary2 = makeArray(obj);
alert(ary2.constructor);

相關(guān)文章

  • html5+CSS 實(shí)現(xiàn)禁止IOS長(zhǎng)按復(fù)制粘貼功能

    html5+CSS 實(shí)現(xiàn)禁止IOS長(zhǎng)按復(fù)制粘貼功能

    因?yàn)樵谝苿?dòng)端APP需要實(shí)現(xiàn)長(zhǎng)按執(zhí)行別的事件,但是在iOS系統(tǒng)有默認(rèn)的長(zhǎng)按選擇復(fù)制粘貼。禁止在網(wǎng)上找了很多資料,下面小編給大家分享解決方案,一起看看吧
    2016-12-12
  • 微信小程序?qū)崿F(xiàn)自動(dòng)播放視頻模仿gif動(dòng)圖效果實(shí)例

    微信小程序?qū)崿F(xiàn)自動(dòng)播放視頻模仿gif動(dòng)圖效果實(shí)例

    這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)自動(dòng)播放視頻模仿gif動(dòng)圖效果的相關(guān)資料,通過本文介紹的方法可以實(shí)現(xiàn)自動(dòng)播放視頻,視頻無控制條無聲音且自動(dòng)循環(huán)播放,需要的朋友可以參考下
    2021-07-07
  • 使用JS讀取XML文件的方法

    使用JS讀取XML文件的方法

    由于項(xiàng)目上需要解析xml,于是各種百度,然后自己總結(jié)了下各個(gè)主流瀏覽器解析xml的方法,下面通過本文給大家詳細(xì)介紹下使用JS讀取XML文件的方法,一起看看吧
    2016-11-11
  • uni-app 支持多端第三方地圖定位的方法

    uni-app 支持多端第三方地圖定位的方法

    這篇文章主要介紹了uni-app 支持多端第三方地圖定位的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 理解javascript中的嚴(yán)格模式

    理解javascript中的嚴(yán)格模式

    這篇文章主要幫助大家理解javascript中的嚴(yán)格模式,何為嚴(yán)格模式,如何啟用嚴(yán)格模式,感興趣的小伙伴們可以參考一下
    2016-02-02
  • JS實(shí)現(xiàn)DIV容器賦值的方法

    JS實(shí)現(xiàn)DIV容器賦值的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)DIV容器賦值的方法,可結(jié)合ajax使用,涉及JavaScript針對(duì)頁(yè)面元素的動(dòng)態(tài)操作技巧,需要的朋友可以參考下
    2015-12-12
  • js生成隨機(jī)數(shù)方法和實(shí)例

    js生成隨機(jī)數(shù)方法和實(shí)例

    這篇文章主要介紹了js生成隨機(jī)數(shù)方法和實(shí)例,由js生成一切隨機(jī)數(shù)的基礎(chǔ)都是Math.random(),有興趣的可以了解一下。
    2017-01-01
  • 微信小程序?qū)崿F(xiàn)打開內(nèi)置地圖功能【附源碼下載】

    微信小程序?qū)崿F(xiàn)打開內(nèi)置地圖功能【附源碼下載】

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)打開內(nèi)置地圖功能,涉及微信小程序使用wx.openLocation函數(shù)獲取經(jīng)緯度信息的相關(guān)使用技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下
    2017-12-12
  • JavaScript實(shí)現(xiàn)數(shù)組對(duì)象轉(zhuǎn)換為鍵值對(duì)的四種方式

    JavaScript實(shí)現(xiàn)數(shù)組對(duì)象轉(zhuǎn)換為鍵值對(duì)的四種方式

    本文探討了將包含 {icon: "abc", url: "123"} 形式對(duì)象的數(shù)組轉(zhuǎn)換為鍵值對(duì)形式的四種方法,并從實(shí)現(xiàn)方式的簡(jiǎn)潔性、可讀性和性能角度進(jìn)行了分析比較,感興趣的朋友可以參考下
    2024-02-02
  • 微信小程序?qū)崙?zhàn)之自定義抽屜菜單(7)

    微信小程序?qū)崙?zhàn)之自定義抽屜菜單(7)

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崙?zhàn)之自定義抽屜菜單效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04

最新評(píng)論