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 innerHTML、outerHTML、innerText、outerText的区别
Nov 24 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
Jan 24 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
Oct 29 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
Aug 14 Javascript
JS实现仿QQ效果的三级竖向菜单
Sep 25 Javascript
Node.js巧妙实现Web应用代码热更新
Oct 22 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
Dec 01 Javascript
解析Node.js基于模块和包的代码部署方式
Feb 16 Javascript
基于javascript实现简单的抽奖系统
Apr 15 Javascript
js基础之DOM中元素对象的属性方法详解
Oct 28 Javascript
Webpack按需加载打包chunk命名的方法
Sep 22 Javascript
javascript 模块依赖管理的本质深入详解
Apr 30 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
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
2018/05/12 PHP
浅谈PHP array_search 和 in_array 函数效率问题
2019/10/15 PHP
web 页面分页打印的实现
2009/06/22 Javascript
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
JS input文本框禁用右键和复制粘贴功能的代码
2010/04/15 Javascript
javascript 基础篇3 类,回调函数,内置对象,事件处理
2012/03/14 Javascript
两种常用的javascript数组去重方法思路及代码
2013/03/26 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
2013/06/28 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
javascript文件加载管理简单实现方法
2015/07/25 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
js 动态生成html 触发事件传参字符转义的实例
2017/02/14 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
JavaScrip数组去重操作实例小结
2019/06/20 Javascript
jQuery--遍历操作实例小结【后代、同胞及过滤】
2020/05/22 jQuery
[05:59]带你看看DPC的台前幕后
2021/03/11 DOTA
Python实现股市信息下载的方法
2015/06/15 Python
python numpy数组复制使用实例解析
2020/01/10 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
HTML5 embed 标签使用方法介绍
2013/08/13 HTML / CSS
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
加拿大折扣、优惠券和交易网站:WagJag
2018/02/07 全球购物
SKECHERS斯凯奇中国官网:来自美国的运动休闲品牌
2018/11/14 全球购物
应聘医学检验人员自荐信
2013/09/27 职场文书
劳资员岗位职责
2013/11/11 职场文书
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
企业文化标语大全
2014/06/10 职场文书
校园广播稿100字
2014/10/06 职场文书
大一学生个人总结
2015/02/15 职场文书
数学教师求职信范文
2015/03/20 职场文书
工作简报格式范文
2015/07/21 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL