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 通用简单的table选项卡实现
May 07 Javascript
jquery自适应布局的简单实例
May 28 Javascript
JS动态生成年份和月份实例代码
Feb 04 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
Sep 22 jQuery
vue移动端监听滚动条高度的实现方法
Sep 03 Javascript
在小程序开发中使用npm的方法
Oct 17 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
Nov 30 Javascript
微信小程序接入腾讯云验证码的方法步骤
Jan 07 Javascript
vue使用map代替Aarry数组循环遍历的方法
Apr 30 Javascript
jQuery实现倒计时功能完整示例
Jun 01 jQuery
js+canvas实现图片格式webp/png/jpeg在线转换
Aug 22 Javascript
微信小程序实现倒计时功能
Nov 19 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中使用X-SendFile头让文件下载更快
2014/06/01 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
JavaScript静态的动态
2006/09/18 Javascript
通过 Dom 方法提高 innerHTML 性能
2008/03/26 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
2016/11/16 Javascript
基于jPlayer三分屏的制作方法
2016/12/21 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
2018/04/18 Javascript
基于D3.js实现时钟效果
2018/07/17 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
vue 导航守卫和axios拦截器有哪些区别
2020/12/19 Vue.js
Javascript中的奇葩知识,你知道吗?
2021/01/25 Javascript
Python中的rjust()方法使用详解
2015/05/19 Python
详解Django框架中的视图级缓存
2015/07/23 Python
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
python列表的常用操作方法小结
2016/05/21 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
目前最全的python的就业方向
2018/06/05 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
韩国三星集团旗下时尚品牌官网:SSF SHOP
2016/08/02 全球购物
全球异乡人的跨境社交电商平台:Kouhigh口嗨网
2020/07/24 全球购物
《鲁班和橹板》教学反思
2014/04/27 职场文书
禁止酒驾标语
2014/06/25 职场文书
项目合作意向书模板
2014/07/29 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
2016年校园植树节广播稿
2015/12/17 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书
2019下半年英语教师的教学工作计划(3篇)
2019/09/25 职场文书
KVM基础命令详解
2022/04/30 Servers