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 - HTML的request类
Jul 15 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
Mar 28 Javascript
jquery获得页面元素的坐标值实现思路及代码
Apr 15 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
Jan 14 Javascript
Javascript基础知识(三)BOM,DOM总结
Sep 29 Javascript
JQuery的ON()方法支持的所有事件罗列
Feb 28 Javascript
js数组依据下标删除元素
Apr 14 Javascript
浅谈javascript alert和confirm的美化
Dec 15 Javascript
JSON对象转化为字符串详解
Aug 11 Javascript
Echarts实现多条折线可拖拽效果
Dec 19 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
Feb 27 Javascript
JavaScript动画实例之粒子文本的实现方法详解
Jul 28 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下的权限算法的实现
2007/04/28 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
PHP set_error_handler()函数使用详解(示例)
2013/11/12 PHP
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
2013/08/13 Javascript
jQuery实现分隔条左右拖动功能
2015/11/21 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
2016/05/12 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
JavaScript实现短信倒计时60s
2017/10/09 Javascript
JavaScript Date对象应用实例分享
2017/10/30 Javascript
JavaScript实现数值自动增加动画
2017/12/28 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
Vue 中mixin 的用法详解
2018/04/23 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
vue中v-for通过动态绑定class实现触发效果
2018/12/06 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
es6数组的flat(),flatMap()函数用法实例分析
2020/04/18 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
[00:47]TI7不朽珍藏III——沙王不朽展示
2017/07/15 DOTA
跟老齐学Python之网站的结构
2014/10/24 Python
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
python自动裁剪图像代码分享
2017/11/25 Python
Python微信公众号开发平台
2018/01/25 Python
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
python3 selenium自动化测试 强大的CSS定位方法
2019/08/23 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
2020/07/28 Python
人事部专员岗位职责
2014/03/04 职场文书
店长岗位职责
2015/02/11 职场文书
致三级跳运动员加油稿
2015/07/21 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
浅谈PHP7中的一些小技巧
2021/05/29 PHP