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 相关文章推荐
jqPlot jquery的页面图表绘制工具
Jul 25 Javascript
一些主流JS框架中DOMReady事件的实现小结
Feb 12 Javascript
jQuery操作input值的各种方法总结
Nov 21 Javascript
带左右箭头图片轮播的JS代码
Dec 18 Javascript
使用javascript为网页增加夜间模式
Jan 26 Javascript
JS简单操作select和dropdownlist实例
Nov 26 Javascript
jquery中EasyUI使用技巧小结
Feb 10 Javascript
Javascript非构造函数的继承
Apr 27 Javascript
node网页分段渲染详解
Sep 05 Javascript
vue 子组件向父组件传值方法
Feb 26 Javascript
AutoJs实现刷宝短视频的思路详解
May 22 Javascript
基于VSCode调试网页JavaScript代码过程详解
Jul 20 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
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
PHP面向对象精要总结
2014/11/07 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
$.format,jquery.format 使用说明
2011/07/13 Javascript
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
JavaScript中创建对象的7种模式详解
2017/02/21 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
JavaScript实现数值自动增加动画
2017/12/28 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
2019/08/15 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
Vue.js仿Select下拉框效果
2020/02/18 Javascript
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python群发邮件实例代码
2014/01/03 Python
Python中利用sqrt()方法进行平方根计算的教程
2015/05/15 Python
探究python中open函数的使用
2016/03/01 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
Python重新加载模块的实现方法
2018/10/16 Python
python并发和异步编程实例
2018/11/15 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
Python socket服务常用操作代码实例
2020/06/22 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
.net笔试题
2014/03/03 面试题
《满井游记》教学反思
2014/02/26 职场文书
婚庆公司计划书
2014/09/15 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
社会工作专业自荐信
2014/09/26 职场文书
离职感谢信
2015/01/21 职场文书
施工安全保证书
2015/05/09 职场文书
2016年乡镇七一建党节活动总结
2016/04/05 职场文书