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实现Windows 8 Metro风格实现
Oct 15 Javascript
学习javascript面向对象 理解javascript原型和原型链
Jan 04 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
May 11 Javascript
js精准的倒计时函数分享
Jun 29 Javascript
Bootstrap CSS布局之代码
Dec 17 Javascript
微信小程序 页面跳转传递值几种方法详解
Jan 12 Javascript
微信小程序 实例开发总结
Apr 26 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
May 26 Javascript
原生JS实现的轮播图功能详解
Aug 06 Javascript
layui框架table 数据表格的方法级渲染详解
Aug 19 Javascript
微信小程序 自定义弹窗实现过程(附代码)
Dec 05 Javascript
JS sort排序详细使用方法示例解析
Sep 27 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设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
PHP中使用OpenSSL生成证书及加密解密
2017/02/05 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
JS动画效果代码3
2008/04/03 Javascript
js中cookie的使用详细分析
2008/05/28 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
jquery自动将form表单封装成json的具体实现
2014/03/17 Javascript
js检验密码强度(低中高)附图
2014/06/05 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
python命令行参数sys.argv使用示例
2014/01/28 Python
python基础教程之序列详解
2014/08/29 Python
python+mysql实现简单的web程序
2014/09/11 Python
在Django中限制已登录用户的访问的方法
2015/07/23 Python
python爬虫爬取淘宝商品信息
2018/02/23 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
社区党建工作汇报材料
2014/08/14 职场文书
求职自我评价怎么写
2015/03/09 职场文书
学生犯错保证书
2015/05/09 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
情人节单身感言
2015/08/03 职场文书
聘任协议书(挂靠)
2015/09/21 职场文书
教你怎么用python selenium实现自动化测试
2021/05/27 Python