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 相关文章推荐
window.open()弹出居中的窗口
Feb 01 Javascript
读jQuery之十二 删除事件核心方法
Jul 31 Javascript
JS获取URL中的参数数据
Dec 05 Javascript
浅析JavaScript动画
Jun 10 Javascript
javascript实现支持移动设备画廊
Aug 24 Javascript
php利用curl获取远程图片实现方法
Oct 26 Javascript
JavaScript实现点击按钮直接打印
Jan 06 Javascript
[原创]javascript typeof id==='string'?document.getElementById(id):id解释
Nov 02 Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
Apr 13 Javascript
小程序实现选择题选择效果
Nov 04 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
Dec 03 Javascript
详解vue为什么要求组件模板只能有一个根元素
Jul 22 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中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
2013/07/02 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
PHP获取数组长度或某个值出现次数的方法
2015/02/11 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
chrome原生方法之数组
2011/11/30 Javascript
Extjs显示从数据库取出时间转换JSON后的出现问题
2012/11/20 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
利用js+css+html实现固定table的列头不动
2016/12/08 Javascript
利用node.js如何创建子进程详解
2017/12/09 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
2020/07/23 Javascript
js实现三角形粒子运动
2020/09/22 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
[02:32]DOTA2英雄基础教程 美杜莎
2014/01/07 DOTA
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
python中字典(Dictionary)用法实例详解
2015/05/30 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
django url到views参数传递的实例
2019/07/19 Python
python同步两个文件夹下的内容
2019/08/29 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
python实现感知机模型的示例
2020/09/30 Python
python实现磁盘日志清理的示例
2020/11/05 Python
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
银行服务明星推荐材料
2014/05/29 职场文书
开展党的群众路线教育实践活动总结报告
2014/10/31 职场文书
开会通知短信大全
2015/04/20 职场文书
Python天气语音播报小助手
2021/09/25 Python