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中String对象的slice()方法分析
Dec 20 Javascript
jquery滚动特效集锦
Jun 03 Javascript
jQuery树形下拉菜单特效代码分享
Aug 15 Javascript
JavaScript模块规范之AMD规范和CMD规范
Oct 27 Javascript
有关jquery与DOM节点操作方法和属性记录
Apr 15 Javascript
JS实现添加,替换,删除节点元素的方法
Jun 30 Javascript
详解支持Angular 2的表格控件
Jan 19 Javascript
js canvas实现简单的图像扩散效果
Jun 28 Javascript
JS库之wow.js使用方法
Sep 14 Javascript
详解html-webpack-plugin用法全解
Jan 22 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
Aug 22 Javascript
js实现经典贪吃蛇小游戏
Mar 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
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
php二维码生成
2015/10/19 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
js 事件处理函数间的Event物件是否全等
2011/04/08 Javascript
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
JavaScript实现动态创建CSS样式规则方案
2014/09/06 Javascript
JS对象与json字符串格式转换实例
2014/10/28 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
2015/05/03 Javascript
在JavaScript应用中实现延迟加载的方法
2015/06/25 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
javascript加减乘除的简单实例
2016/07/12 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
Python单链表简单实现代码
2016/04/27 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
python解析含有重复key的json方法
2019/01/22 Python
详解10个可以快速用Python进行数据分析的小技巧
2019/06/24 Python
python获取Pandas列名的几种方法
2019/08/07 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
基于TensorFlow中自定义梯度的2种方式
2020/02/04 Python
Python各种扩展名区别点整理
2020/02/27 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
浅谈Python __init__.py的作用
2020/10/28 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
软件部经理岗位职责范本
2014/02/25 职场文书
剪彩仪式主持词
2014/03/19 职场文书
2014银行领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
股东授权委托书
2014/10/15 职场文书
应聘教师自荐信
2015/03/26 职场文书
2016年全国助残日活动总结
2016/04/01 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL