成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

理解數(shù)組,對(duì)象,類數(shù)組對(duì)象

wangshijun / 3616人閱讀

摘要:角度實(shí)例對(duì)象沒(méi)有屬性,只有構(gòu)造函數(shù)才有屬性,也就是說(shuō)構(gòu)造函數(shù)本身保存了對(duì)屬性的引用。。的屬性變量和屬性對(duì)象將會(huì)被該對(duì)象引用的構(gòu)造函數(shù)所創(chuàng)建的對(duì)象繼承那么將會(huì)繼承屬性函數(shù)。

本文章旨在講解數(shù)組,對(duì)象,類數(shù)組對(duì)象之間的聯(lián)系。但會(huì)穿插一些其他的相關(guān)知識(shí)。
首先理解它們的概念:
1、數(shù)組
(1)什么是數(shù)組:簡(jiǎn)而言之就是一組有序的數(shù)據(jù)集合。
它的定義方法有三種。

var arr=[值1,值2,值3];                //隱式創(chuàng)建

var arr=new Array(值1,值2,值3);      //直接實(shí)例化

var array=new Array(size);           //創(chuàng)建數(shù)組并指定長(zhǎng)度
//方法一
var arr1 = [1,3,5,7,9];
    
//方法二
var arr2 = new Array(2,4,6,8,10);

//方法三
var arr3 = new Array(3);//固定數(shù)組長(zhǎng)度為3
arr3[0] = 1;
arr3[1] = 2;
arr3[2] = 3;

(2)數(shù)組的三大屬性

length

數(shù)組定義時(shí)可以無(wú)需指定數(shù)組長(zhǎng)度

let arr4 = [1,3,52,5,2];
console.log(arr4.length);//5

constructor

let arr5 = [1,3,5,7];
console.log(arr5.constructor);//? Array() { [native code] }

prototype

prototype原型對(duì)象是javascript基于原型鏈表實(shí)現(xiàn)的一個(gè)重要屬性。
Javascript角度:1. 實(shí)例對(duì)象沒(méi)有prototype屬性,只有構(gòu)造函數(shù)才有prototype屬性,也就是說(shuō)構(gòu)造函數(shù)本身保存了對(duì)prototype屬性的引用。。2. prototype屬性對(duì)象有一個(gè)constructor屬性,保存了引用他自己的構(gòu)造函數(shù)的引用(看起來(lái)像是個(gè)循環(huán):A指向B,B指向A...) 3.prototype對(duì)象(不要被我這里的屬性對(duì)象,對(duì)象,對(duì)象屬性搞暈乎了,說(shuō)是屬性對(duì)象,就是說(shuō)當(dāng)前這個(gè)東西他首先是某個(gè)對(duì)象的屬性,同時(shí)自己也是個(gè)對(duì)象。對(duì)象屬性就是說(shuō)它是某個(gè)對(duì)象的屬性。)的屬性變量和屬性對(duì)象將會(huì)被該prototype對(duì)象引用的構(gòu)造函數(shù)所創(chuàng)建的對(duì)象繼承(function A(){} A.prototype.pa = function(){} var oA = new A(); 那么oA將會(huì)繼承屬性函數(shù)pa)。**

let arr6 = [1,2,4,5,6];
console.log(arr6.prototype)//undefined

一般我們用到的時(shí)候是這樣用的

let arr7 = [1,3,5,6,7,8];
Array.prototype.alert = function(){console.log("arr7")}//這里封裝的是數(shù)組的公有方法。
console.log(arr7.alert())//arr7

對(duì)于想要深入的了解請(qǐng)百度原型鏈模式,這樣您可以詳細(xì)的研究它的一些公有方法。
2、對(duì)象
(1)什么是對(duì)象。
對(duì)象定義:js中對(duì)象類型為一組無(wú)序的由鍵->值組成的數(shù)據(jù)集合,其元素的鍵名和值都可以自定義
它的定義方法有兩種。

var obj1 = {name:"zhang",age:355,id:1};
var obj2 = new Object({name:"zhang",age:234,id:2})
console.log(obj1["name"])//zhang
console.log(obj2.length)//undefined

以上的例子我們可以得出:對(duì)象自身所擁有的(不包括繼承來(lái)的)任何屬性都是有用戶自定義的。

我們現(xiàn)在可以將數(shù)組和對(duì)象進(jìn)行一下比較,是不是感覺數(shù)組和對(duì)象很相像。
再舉出一個(gè)例子。我們進(jìn)行比較可能更直觀一些。

let ary = [2,2,4,5];
let o = {0:23,1:23,2:32,length:3};
console.log(ary[0],o[0]);//2,23
console.log(ary.length,o.length);//4,3

通過(guò)例子我們不難發(fā)現(xiàn):我們發(fā)現(xiàn)完全可以使用對(duì)象來(lái)模擬數(shù)組,只要我們定義的對(duì)象的每個(gè)元素的鍵名都使用數(shù)字并且讓其保持遞增,且動(dòng)態(tài)的定義一個(gè)length屬性來(lái)表示元素個(gè)數(shù),那么從效果上來(lái)說(shuō),基本就個(gè)數(shù)組相同了!

類數(shù)組對(duì)象:只包含使用從零開始,且自然遞增的整數(shù)做鍵名,并且定義了length表示元素個(gè)數(shù)的對(duì)象,我們就認(rèn)為它是類數(shù)組對(duì)象!

一般我們常用到的類數(shù)組對(duì)象如:arguments,獲取的元素集合

類數(shù)組對(duì)象不僅在效果上與數(shù)組相似,在某些操作上也是相同的。

//定義數(shù)組和類數(shù)組對(duì)象
let ary1 = [2,5,23,5,52];
let oo = {0:4,1:32,2:324,length:3};
//讀寫操作
console.log(ary1[1],oo[1],ary1["length"],oo["length"]);//5,32,5,3
ary1[0] = 4;
oo[0] = 6;
console.log(ary1[0],oo[0]);//4,6
//遍歷
for(var i=0;i

通過(guò)簡(jiǎn)單的對(duì)比,我們不難看出,其實(shí)我們可以從數(shù)據(jù)結(jié)構(gòu)上把js中的數(shù)組歸為對(duì)象,因?yàn)槲覀兛梢允褂脤?duì)象來(lái)模擬數(shù)組,這里僅僅說(shuō)的是數(shù)據(jù)結(jié)構(gòu)上,其實(shí)它們本身所繼承來(lái)的方法和一些屬性是不同的。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/90009.html

相關(guān)文章

  • 深入理解JavaScript數(shù)組

    摘要:但是,我們可以借用類數(shù)組方法不難看出,此時(shí)的在調(diào)用數(shù)組原型方法時(shí),返回值已經(jīng)轉(zhuǎn)化成數(shù)組了。很多時(shí)候,深入看看源代碼也會(huì)讓你對(duì)這個(gè)理解的更透徹。的前端樂(lè)園原文鏈接深入理解類數(shù)組 起因 寫這篇博客的起因,是我在知乎上回答一個(gè)問(wèn)題時(shí),說(shuō)自己在學(xué)前端時(shí)把《JavaScript高級(jí)程序設(shè)計(jì)》看了好幾遍。于是在評(píng)論區(qū)中,出現(xiàn)了如下的對(duì)話:showImg(https://segmentfault.c...

    Towers 評(píng)論0 收藏0
  • 數(shù)組對(duì)象轉(zhuǎn)換為數(shù)組對(duì)象的簡(jiǎn)單理解

    摘要:將對(duì)象轉(zhuǎn)換為數(shù)組對(duì)象的限制不知道現(xiàn)在還是否需要考慮這一點(diǎn)之前的版本將實(shí)現(xiàn)為對(duì)象而非對(duì)象,對(duì)象不能直接調(diào)用方法,因此需要采取其他方式轉(zhuǎn)化。 關(guān)于類數(shù)組對(duì)象 JavaScript中有一些著名的類數(shù)組對(duì)象,它們看起來(lái)很像數(shù)組: 擁有l(wèi)ength屬性 元素按序保存在對(duì)象中,可以通過(guò)索引訪問(wèn) 但實(shí)際和數(shù)組又不是一回事: 沒(méi)有數(shù)組的很多方法 也會(huì)有數(shù)組沒(méi)有的方法 (e.g. NodeLis...

    wayneli 評(píng)論0 收藏0
  • 理解javascript數(shù)組

    摘要:也就是說(shuō),為一些常規(guī)對(duì)象增加一些屬性可以使其變成類數(shù)組對(duì)象。實(shí)際上,類數(shù)組的定義只有一條,具有屬性。在中,所有的數(shù)組方法都是通用的。 什么是類數(shù)組 javascript中一些看起來(lái)像卻不是數(shù)組的對(duì)象,叫做類數(shù)組。也就是說(shuō),為一些常規(guī)對(duì)象增加一些屬性可以使其變成類數(shù)組對(duì)象。 類數(shù)組的特征: 有索引(數(shù)字)屬性和length屬性的對(duì)象 不具有數(shù)組的方法。間接調(diào)用數(shù)組的一些方法,比如pus...

    yzzz 評(píng)論0 收藏0
  • JavaScript 語(yǔ)言核心筆記(持續(xù)更新)

    摘要:在同一個(gè)塊內(nèi),不允許用重復(fù)聲明變量。中為新增了塊級(jí)作用域。自帶遍歷器的對(duì)象有數(shù)組字符串類數(shù)組對(duì)象對(duì)象的對(duì)象等和結(jié)構(gòu)對(duì)象。返回一個(gè)遍歷器,使遍歷數(shù)組的鍵值對(duì)鍵名鍵值。 目錄 1.語(yǔ)法 2.類型、值和變量 3.表達(dá)式和運(yùn)算符 4.語(yǔ)句 5.數(shù)組 6.對(duì)象 7.函數(shù) 8.全局屬性和方法 9.詞法作用域、作用域鏈、閉包 10.原型鏈、繼承機(jī)制 11.this的理解 12.ES5新特性 13.E...

    suosuopuo 評(píng)論0 收藏0
  • 石頭理解的set

    摘要:對(duì)對(duì)象進(jìn)行遍歷操作。對(duì)象沒(méi)有提供訪問(wèn)指定值的方法。所以石頭一般使用對(duì)象存放對(duì)象,然后檢查是否有某個(gè)值,使用數(shù)組取數(shù)據(jù)。返回是否刪除指定的對(duì)象。比如無(wú)法準(zhǔn)確地取出指定的值。應(yīng)該是做為一個(gè)數(shù)組對(duì)象的補(bǔ)充存在。 Set set類似數(shù)組。其成員的值都是唯一的。 數(shù)組去重 const set = new Set([1,2,3,2,4,2,3,4]) console.log(set) [......

    shinezejian 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<