知識碎片 陣列 與 偽陣列

2022-07-16 00:48:14 字數 1905 閱讀 8324

今天在上看到博主寫的一篇部落格,對我還是有幫助的,在這裡記錄一下~

js 中的資料型別: 

分為簡單資料型別: num , string ,null,boolean,undefined

引用資料型別:object,function,array

1.建立物件方法:

1)通過字面量的方式建立

2)通過「建構函式」的方式建立

3)通過object方式建立

4)使用工廠模式建立物件

5)通過原型模式建立物件

2.建立陣列

1)採用直接量建立

var = arr=

2)採用建構函式array()建立

var arr  = new array()

3.陣列與物件的關係

js 的 原型繼承。所有的js內建建構函式都是繼承自 object.prototype。在這個前提下,可以理解為,使用new array()或 [ ] 建立出來的物件。都會擁有object.prototype 的屬性值

var obj = {};//

擁有object.prototype的屬性值

var arr =;

//使用陣列直接量建立的陣列,由於array.prototype的屬性繼承自 object.prototype,

//那麼,它將同時擁有array.prototype和object.prototype的屬性值

1):這裡得到了第乙個 物件 與 陣列的區別,陣列不僅有 object.prototype屬性還有 array.prototype屬性    而 物件僅有object.prototype屬性

4.陣列(跳過)

5. 偽陣列

定義:

1:擁有length屬性,其他屬性(索引)為非負整數(物件中的索引會被當做字串來處理,這裡你可以當做是個非負整數串來理解)

2:不具有陣列所具有的方法

var fakearray =;

for (var i = 0; i < fakearray.length; i++)

array.prototype.join.call(fakearray,'+');

偽陣列是個object,而陣列是array

下面所記錄的 還沒有學到,作為了解先記錄一下

js內建物件中常見的偽陣列就是大名鼎鼎的 arguments:

(function

() ());

在dom物件中,childnodes也是偽陣列

console.log(typeof document.body.childnodes); //

輸出 object

此外,還有很多

偽陣列存在意義,是可以讓普通物件也能正常使用陣列的很多演算法,如:

var arr = array.prototype.slice.call(arguments)

還有另一種寫法: var arr = .slice.call(arguments)

另外,你可以使用 bind 來簡化該過程

或者var arr = array.prototype.slice.call(arguments,0);   // 將arguments物件轉為真正的陣列

array.prototype.foreach.call(arguements,function(v)){

//迴圈arguments物件

C 碎片五 陣列

構造型別資料是有基本型別資料按照一定規則組成的。陣列,結構體,共用體都屬於構造型別的資料。陣列是有序資料的集合,c語言陣列中的每乙個元素都屬於同乙個資料型別,用陣列名和下標來唯一確定陣列中的元素。使用場景 當我們需要儲存大量同型別資料的時候可以用陣列 一維陣列定義 具有相同資料型別變數的有序集合 空...

偽陣列和真陣列

什麼是偽陣列 1 偽陣列是乙個物件 2 這個物件必須要有length屬性 3 如果這個物件的length不為0,那麼必須要有按照下標儲存的資料 不是偽陣列 var obj var obj2 是偽陣列 var obj3 var obj4 var obj5 如何判斷資料是不是偽陣列 1 不是物件直接乾掉...

偽陣列轉真陣列

123 456 偽陣列 擁有陣列的索引和長度,能夠使用迴圈遍歷,但是不能使用陣列的原型的方法 var arr 3,4,5,6,7 console.log arr var adiv document.queryselectorall div console.log adiv 1.遍歷 var a fo...