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 相关文章推荐
JQuery 学习笔记01 JQuery初接触
May 06 Javascript
jquery getScript动态加载JS方法改进详解
Nov 15 Javascript
javascript 判断字符串是否包含某字符串及indexOf使用示例
Oct 18 Javascript
浅析jQuery EasyUI中的tree使用指南
Dec 18 Javascript
初步认识JavaScript函数库jQuery
Jun 18 Javascript
用window.onerror捕获并上报Js错误的方法
Jan 27 Javascript
jQuery无刷新上传之uploadify3.1简单使用
Jun 18 Javascript
jQuery根据name属性进行查找的用法分析
Jun 23 Javascript
JavaScript基础之AJAX简单的小demo
Jan 29 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
Jan 25 Javascript
Vue实现点击时间获取时间段查询功能
Aug 21 Javascript
JS快速实现简单计算器
Apr 08 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安装攻略:常见问题解答(二)
2006/10/09 PHP
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
php检测url是否存在的方法
2015/04/14 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
PHP小偷程序的设计与实现方法详解
2016/10/15 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
js setTimeout 参数传递使用介绍
2013/08/13 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
JavaScript实现重力下落与弹性效果的方法分析
2017/12/20 Javascript
详解Vue源码学习之callHook钩子函数
2018/07/25 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
微信小程序实现张图片合成为一张并下载
2019/07/16 Javascript
javascript实现随机抽奖功能
2020/12/30 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
python根据经纬度计算距离示例
2014/02/16 Python
python实现定时同步本机与北京时间的方法
2015/03/24 Python
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
Python多线程实现支付模拟请求过程解析
2020/04/21 Python
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
幼儿园中秋节活动反思
2014/02/16 职场文书
城管综合整治方案
2014/05/01 职场文书
2014年班干部工作总结
2014/11/25 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
Python基于Tkinter开发一个爬取B站直播弹幕的工具
2021/05/06 Python