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 相关文章推荐
一个页面元素appendchild追加到另一个页面元素的问题
Jan 27 Javascript
jQuery下的动画处理总结
Oct 10 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
Dec 16 Javascript
jquery ajax 局部刷新小案例
Feb 08 Javascript
jquery五角星评分插件示例分享
Feb 21 Javascript
jquery解析xml字符串示例分享
Mar 25 Javascript
JavaScript实现生成GUID(全局统一标识符)
Sep 05 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
Jul 22 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
Nov 21 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
Mar 21 Javascript
vue style width a href动态拼接问题的解决
Aug 07 Javascript
JavaScript array常用方法代码实例详解
Sep 02 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
PHP扩展CURL的用法详解
2014/06/20 PHP
php数组键值用法实例分析
2015/02/27 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
Div自动滚动到末尾的代码
2008/10/26 Javascript
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
js确定对象类型方法
2012/03/30 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
jQuery 更改checkbox的状态,无效的解决方法
2016/07/22 Javascript
微信小程序App生命周期详解
2018/01/31 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
2019/07/20 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
在Python中使用判断语句和循环的教程
2015/04/25 Python
Python中type的构造函数参数含义说明
2015/06/21 Python
Python自定义类的数组排序实现代码
2016/08/28 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
Python线性拟合实现函数与用法示例
2018/12/13 Python
一篇文章弄懂Python中所有数组数据类型
2019/06/23 Python
详解Python流程控制语句
2020/10/28 Python
美国摄影爱好者购物网站:Focus Camera
2016/10/21 全球购物
英国运动服、设备及配件网站:DW Sports
2019/12/04 全球购物
如何查找网页漏洞
2016/06/22 面试题
财务情况说明书范文
2014/05/06 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS
详解MindSpore自定义模型损失函数
2021/06/30 Python
彻底卸载VMware虚拟机的超详细步骤记录
2022/07/15 Servers