JavaScript中省略元素對數(shù)組長度的影響
在學(xué)習(xí)《JavaScript權(quán)威指南》第六版的第7.1節(jié)中通過數(shù)組直接量創(chuàng)建數(shù)組時,我們可以不給數(shù)組的某個元素賦值,它就會使undefined。雖然是undefined,但我們調(diào)用數(shù)組對象的length屬性時undefined也會導(dǎo)致length加1。有如下所示的四種情況:
var undef0 = [,,]; var undef1 = [1,,]; var undef2 = [,1,]; var undef3 = [,,1]; console.log(undef0.length); console.log(undef1.length); console.log(undef2.length); console.log(undef3.length);
我們可以猜一下四個console.log輸出的長度各是多少,之前我一定會猜都是3。實(shí)際結(jié)果如下所示:

這是為什么呢,答案就是:數(shù)組直接量的語法允許有可選的結(jié)尾的逗號,故[,,]、[1,,]、[,1,]這三種情況JS引擎會認(rèn)為最后一個逗號是結(jié)尾的逗號,所以就認(rèn)為只有兩個元素,而[,,1]這種情況人為的給最后一個逗號后面又添加了一個元素,所以最后一個逗號就不是結(jié)尾了,所以我們就能想到[,,1,]的長度仍然為3。
以上所述是小編給大家介紹的JavaScript中省略元素對數(shù)組長度的影響,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- Javascript 跨域知識詳細(xì)介紹
- Java中常用緩存Cache機(jī)制的實(shí)現(xiàn)
- JavaScript中訪問id對象 屬性的方式訪問屬性(實(shí)例代碼)
- RegExp 隨筆 JavaScript RegExp 對象
- JavaScript實(shí)現(xiàn)使用Canvas繪制圖形的基本教程
- Java開發(fā)環(huán)境jdk 1.8安裝配置方法(Win7 64位系統(tǒng)/windows server 2008)
- Javascript將字符串日期格式化為yyyy-mm-dd的方法
- JavaScript登錄驗(yàn)證碼的實(shí)現(xiàn)
- javascript iframe跨域詳解
- Java微信支付-微信紅包
- java從字符串中提取數(shù)字的簡單實(shí)例
- Java doGet, doPost方法和文件上傳實(shí)例代碼
相關(guān)文章
javascript簡單實(shí)現(xiàn)深淺拷貝過程詳解
這篇文章主要介紹了javascript簡單實(shí)現(xiàn)深淺拷貝過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10
javascript 實(shí)現(xiàn)頁面加載進(jìn)度條代碼
javascript 實(shí)現(xiàn)頁面加載進(jìn)度條代碼,需要的朋友可以參考下。2010-04-04
javascript實(shí)現(xiàn)的網(wǎng)站訪問量統(tǒng)計(jì)代碼
本文文章通過兩段代碼實(shí)例給大家介紹了基于javascript實(shí)現(xiàn)網(wǎng)站訪問量統(tǒng)計(jì)代碼,對js實(shí)現(xiàn)網(wǎng)站訪問量統(tǒng)計(jì)相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2015-12-12
各瀏覽器對document.getElementById等方法的實(shí)現(xiàn)差異解析
這篇文章主要是對各瀏覽器對document.getElementById等方法的實(shí)現(xiàn)差異進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12
Javascript實(shí)現(xiàn)視頻輪播在pc端與移動端均可
用Javascript實(shí)現(xiàn)視頻輪播,畢竟是客戶的需求嗎?所以盡量實(shí)現(xiàn)下,下面有個實(shí)現(xiàn)視頻輪播的示例,pc端與移動端均可以實(shí)現(xiàn),感興趣的朋友可以了解下2013-09-09

