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

首頁 > 語言 > JavaScript > 正文

JavaScript類數(shù)組對象轉(zhuǎn)換為數(shù)組對象的方法實例分析

2024-05-06 15:32:30
字體:
供稿:網(wǎng)友

本文實例分析了JavaScript類數(shù)組對象轉(zhuǎn)換為數(shù)組對象的方法。分享給大家供大家參考,具體如下:

1、類數(shù)組對象:

擁有length屬性,可以通過下標(biāo)訪問;

不具有數(shù)組所具有的方法。

2、為什么要將類數(shù)組對象轉(zhuǎn)換為數(shù)組對象?

數(shù)組對象Array有很多方法:shiftunshiftsplicesliceconcatreversesort,ES6又新增了一些方法:forEachisArrayindexOflastIndexOfeverysomemapfilterreduce等。由于類數(shù)組不具有數(shù)組所具有的操作數(shù)組的方法,將類數(shù)組轉(zhuǎn)換為數(shù)組之后就能調(diào)用這些強大的方法,方便快捷。更多JavaScript數(shù)組的方法請見:http://m.survivalescaperooms.com/article/144359.htm

3、類數(shù)組對象轉(zhuǎn)換為數(shù)組對象的方法:

1) Array.prototype.slice.call(arrayLike)Array.prototype.slice.call(arrayLike, 0)[].slice.call (arrayLike)[].slice.call (arrayLike, 0)

var div1 = Array.prototype.slice.call(document.querySelectorAll('div'), 0);var div2 = Array.prototype.slice.call(document.querySelectorAll('div'));var div3 = [].prototype.slice.call(document.querySelectorAll('div'), 0);var div4 = [].prototype.slice.call(document.querySelectorAll('div'));

2) Array.from(arrayLike)

var divs = Array.from(document.querySelectorAll('div'));

3) 原生JavaScript轉(zhuǎn)換

var length = arrayLike.length;var arr = [];for (var i = 0; i < length; i++) {  arr.push(arrayLike[i]);  return arr;}

4、JavaScript如何判斷一個對象是否為數(shù)組?

使用typeof運算符不能判斷一個對象是否為數(shù)組,因為typeof arr返回的是object而不是array

1) arr instanceof Array返回true

2) arr.constructor == Array返回true

說明:使用instanceofconstructor判斷數(shù)組類型的問題在于,它假定只有一個運行環(huán)境,如果網(wǎng)頁中包含多個框架,那么實際上存在兩個以上不同的全局執(zhí)行環(huán)境,進而存在兩個不同版本的Array構(gòu)造函數(shù),如果從一個框架向另一個框架傳入一個數(shù)組,那么傳入的數(shù)組與第二個框架中原生創(chuàng)建的數(shù)組分別具有各自不同的構(gòu)造函數(shù),也就是說,object.constructor == Array 會返回false。

原因:Array屬于引用型數(shù)據(jù),傳遞過程僅僅是引用地址的傳遞,每個頁面的Array原生對象所引用的地址是不一樣的,在子頁面聲明的Array所對應(yīng)的構(gòu)造函數(shù),是子頁面的Array對象,父頁面進行判斷時使用的Array并不等于子頁面的Array。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 伊宁市| 永州市| 鄄城县| 河南省| 大方县| 陆丰市| 洪湖市| 乐东| 讷河市| 鄄城县| 宝坻区| 靖边县| 南川市| 九龙城区| 井陉县| 临颍县| 二连浩特市| 莱州市| 和田县| 公主岭市| 扶绥县| 大港区| 青冈县| 齐河县| 博爱县| 镇坪县| 新昌县| 衡水市| 吴堡县| 保康县| 新巴尔虎左旗| 南阳市| 阜城县| 文登市| 安阳县| 攀枝花市| 三江| 古浪县| 农安县| 嘉荫县| 西丰县|