JavaScript中省略元素对数组长度的影响


Posted in Javascript onOctober 26, 2016

在学习《JavaScript权威指南》第六版的第7.1节中通过数组直接量创建数组时,我们可以不给数组的某个元素赋值,它就会使undefined。虽然是undefined,但我们调用数组对象的length属性时undefined也会导致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。实际结果如下所示:

JavaScript中省略元素对数组长度的影响

这是为什么呢,答案就是:数组直接量的语法允许有可选的结尾的逗号,故[,,]、[1,,]、[,1,]这三种情况JS引擎会认为最后一个逗号是结尾的逗号,所以就认为只有两个元素,而[,,1]这种情况人为的给最后一个逗号后面又添加了一个元素,所以最后一个逗号就不是结尾了,所以我们就能想到[,,1,]的长度仍然为3。

以上所述是小编给大家介绍的JavaScript中省略元素对数组长度的影响,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript 创建对象
Jul 17 Javascript
Javascript 汉字字节判断
Aug 01 Javascript
JavaScript实现QueryString获取GET参数的方法
Jul 02 Javascript
js setTimeout()函数介绍及应用以倒计时为例
Dec 12 Javascript
一个简单的jquery进度条示例
Apr 28 Javascript
一个字符串反转函数可实现字符串倒序
Sep 15 Javascript
javascript将异步校验表单改写为同步表单
Jan 27 Javascript
理解 JavaScript Scoping & Hoisting(二)
Nov 18 Javascript
js实现随机数字字母验证码
Jun 19 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
Oct 31 Javascript
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
Jan 09 jQuery
vue-router之实现导航切换过渡动画效果
Oct 31 Javascript
BootStrap tab选项卡使用小结
Aug 09 #Javascript
Bootstrap按钮功能之查询按钮和重置按钮
Oct 26 #Javascript
AngularJS中如何使用echart插件示例详解
Oct 26 #Javascript
BootStrap modal模态弹窗使用小结
Oct 26 #Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
Oct 26 #Javascript
BootStrap tooltip提示框使用小结
Oct 26 #Javascript
Bootstrap CDN和本地化环境搭建
Oct 26 #Javascript
You might like
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
php获取随机数组列表的方法
2014/11/13 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
一个XML格式数据转换为图表的例子
2010/02/09 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
使用javascript提交form表单方法汇总
2015/06/25 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
2017/05/19 jQuery
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
2019/02/18 jQuery
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
Python序列操作之进阶篇
2016/12/08 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
python数据处理之如何选取csv文件中某几行的数据
2019/09/02 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
使用CSS3编写类似iOS中的复选框及带开关的按钮
2016/04/11 HTML / CSS
荷兰网上鞋店:Ziengs.nl
2017/01/02 全球购物
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
南京某公司笔试题
2013/01/27 面试题
学习2014年全国两会心得体会
2014/03/12 职场文书
企业宣传口号
2014/06/12 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
政风行风整改报告
2014/11/06 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书