摘要:稀疏數(shù)組遍歷上面這段代碼可以看出,在遍歷數(shù)組的時(shí)候是會(huì)跳過(guò)這些空白單元,直接找到下標(biāo)為的值。
js是一門(mén)擁有非常強(qiáng)表達(dá)能力的語(yǔ)言,當(dāng)你知道你要做什么的時(shí)候,它能幫助你更加出色的完成這件事情。當(dāng)然,想要成為一名出色的前端工程師,需要的是更多的精力跟學(xué)習(xí)。所以大家要跟我一起努力哦!
數(shù)組基本了解數(shù)組(array),字符串(string),和數(shù)字(number)算是一個(gè)程序最基本的組成部分,這篇文章著重為大家講解一下數(shù)組的使用,畢竟數(shù)組是前端開(kāi)發(fā)經(jīng)常要接觸的東西嘛(小聲bb 嘻嘻)
和其他強(qiáng)類(lèi)型語(yǔ)言不同,在javascript中,數(shù)組可以容納任何類(lèi)型的值,可以是字符串,可以是數(shù)字,可以使對(duì)象,也可以是其他的數(shù)組(多維數(shù)組就是通過(guò)這種方式實(shí)現(xiàn)的)
1. 數(shù)組創(chuàng)建var a = []; //這是一個(gè)沒(méi)有元素的空數(shù)組示例 var a = [1,2,3]; //這是三個(gè)元素的數(shù)組示例 var b = [1,"2",[3,4]]; //這是包含字符串 數(shù)字 嵌套數(shù)組的示例 var a = new Array(); //調(diào)用構(gòu)造函數(shù)Array()創(chuàng)建數(shù)組 調(diào)用時(shí)沒(méi)有參數(shù) var b = new Array(3); //調(diào)用時(shí)有一個(gè)數(shù)值參數(shù),它指定長(zhǎng)度 var c = new Array(1,2,3); //新創(chuàng)建的數(shù)組的元素就會(huì)被初始化為這些值,它的 length 字段也會(huì)被設(shè)置為參數(shù)的個(gè)數(shù)2. 數(shù)組長(zhǎng)度
每個(gè)數(shù)組都有一個(gè)length屬性,js數(shù)組的長(zhǎng)度是沒(méi)有上限的,如果你用大于或者等于當(dāng)前l(fā)ength的數(shù)字來(lái)儲(chǔ)存一個(gè)元素,length值就會(huì)增大容納新元素,不會(huì)發(fā)生數(shù)組越界的錯(cuò)誤
//數(shù)組在聲明之后就可以向其中加入值 var arr = []; arr.length //0 arr[0] = 1; arr[1] = "2"; arr[2] = "3"; arr.length //3 arr[100] = true; arr.length //1003. 稀疏數(shù)組(sparse array)
稀數(shù)組就是含有空白或單缺單元的數(shù)組,數(shù)組元素的索引不一定要連續(xù),元素之間可以有空隙
在創(chuàng)建稀疏數(shù)組的時(shí)候要注意:
var arr = [ ]; arr[0] = 1; //此處不設(shè)置arr[1] arr[2] = [ 3 ]; arr.length //3
可以看到, 上面的代碼可以正常的運(yùn)行,這就是一個(gè)稀疏數(shù)組,其中的 ‘空白單元’ 即沒(méi)有設(shè)置的arr[1]的值 為undefined , 這里的undefined指不存在,但是這與直接設(shè)置 arr[1]=undefined 還是有所不同,再舉個(gè)栗子
var arr1=[undefined,undefined,undefined] var arr2=new Array(3); console.log(arr1) console.log(arr2)
在谷歌瀏覽器上arr1顯示的是[undefined,undefined,undefined],而arr2顯示的為?[undefined × 3] ,由此可以看出他們是不同的,arr2這里的undefined指不存在。
4. 稀疏數(shù)組遍歷var arr = new Array(3); arr[50]=1; console.log(arr.length ) //51 console.log(arr[0]) //undefined arr.forEach(function(value,index){ console.log(value); //1 });
上面這段代碼可以看出,在遍歷數(shù)組的時(shí)候js是會(huì)跳過(guò)這些空白單元,直接找到下標(biāo)為51的值。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/104618.html
摘要:之前一篇文章我們?cè)敿?xì)說(shuō)明了變量對(duì)象,而這里,我們將詳細(xì)說(shuō)明作用域鏈。而的作用域鏈,則同時(shí)包含了這三個(gè)變量對(duì)象,所以的執(zhí)行上下文可如下表示。下圖展示了閉包的作用域鏈。其中為當(dāng)前的函數(shù)調(diào)用棧,為當(dāng)前正在被執(zhí)行的函數(shù)的作用域鏈,為當(dāng)前的局部變量。 showImg(https://segmentfault.com/img/remote/1460000008329355);初學(xué)JavaScrip...
摘要:封裝手寫(xiě)的方筆記使用檢測(cè)文件前端掘金副標(biāo)題可以做什么以及使用中會(huì)遇到的坑。目的是幫助人們用純中文指南實(shí)現(xiàn)復(fù)選框中多選功能前端掘金作者緝熙簡(jiǎn)介是推出的一個(gè)天挑戰(zhàn)。 深入理解 JavaScript Errors 和 Stack Traces - 前端 - 掘金譯者注:本文作者是著名 JavaScript BDD 測(cè)試框架 Chai.js 源碼貢獻(xiàn)者之一,Chai.js 中會(huì)遇到很多異常處理...
摘要:封裝手寫(xiě)的方筆記使用檢測(cè)文件前端掘金副標(biāo)題可以做什么以及使用中會(huì)遇到的坑。目的是幫助人們用純中文指南實(shí)現(xiàn)復(fù)選框中多選功能前端掘金作者緝熙簡(jiǎn)介是推出的一個(gè)天挑戰(zhàn)。 深入理解 JavaScript Errors 和 Stack Traces - 前端 - 掘金譯者注:本文作者是著名 JavaScript BDD 測(cè)試框架 Chai.js 源碼貢獻(xiàn)者之一,Chai.js 中會(huì)遇到很多異常處理...
摘要:忍者級(jí)別的函數(shù)操作對(duì)于什么是匿名函數(shù),這里就不做過(guò)多介紹了。我們需要知道的是,對(duì)于而言,匿名函數(shù)是一個(gè)很重要且具有邏輯性的特性。通常,匿名函數(shù)的使用情況是創(chuàng)建一個(gè)供以后使用的函數(shù)。 JS 中的遞歸 遞歸, 遞歸基礎(chǔ), 斐波那契數(shù)列, 使用遞歸方式深拷貝, 自定義事件添加 這一次,徹底弄懂 JavaScript 執(zhí)行機(jī)制 本文的目的就是要保證你徹底弄懂javascript的執(zhí)行機(jī)制,如果...
閱讀 2958·2021-11-23 09:51
閱讀 1675·2021-10-15 09:39
閱讀 1068·2021-08-03 14:03
閱讀 2897·2019-08-30 15:53
閱讀 3445·2019-08-30 15:52
閱讀 2495·2019-08-29 16:17
閱讀 2801·2019-08-29 16:12
閱讀 1657·2019-08-29 15:26