Javascript 逗号“,”引发的血案
- //请说明下面变量 a-e 的值
- var a = [[1][1]];
- var b = [['a','b','c'][1]];
- var c = [['a','b','c'][1], ['a','b','c']];
- var d = [['a','b','c']['length'], ['a','b','c']];
- var e = [['a','b','c']['father', 'child', '0'], ['a','b','c']];
- var a = [[1][1]];
的含义。我们可以将这个语句拆分下
- var tmp = [1];
- var a = [tmp[1]]; // honker: tmp[1] 就是 [1][1]
就能非常好的理解,实际上 a 中的数组元素取得是 tmp[1] ,它并没有定义,所以值为 undefined (honker:也就是说a.length=1, a[0] = undefined)。那么
- var b = [['a','b','c'][1]];
就很容易理解为 ['b'] ,因为数组紧跟的后面是下标表达式。同时,数组也是个对象,它有相应的属性值,并且可以使用关联数组表示,于是
- ['a','b','c']['length']
的含义就是
- var tmp = ['a','b','c'];
- console.info(tmp.length);
(honker: obj['length']意思是访问obj.length的意思)
- ['a','b','c']['father', 'child', '0']
后面的 ['father', 'child', '0'] 实质上是表达式(honker:即逗号表达式),而不是数组。所以简化以后就是
- ['a','b','c']['0']
那么返回的就是 ['a'] (honker:实际上字符串'0'被转换成了数字0)。这就让我们需要在实际的编码过程中,需要注意数组中的逗号“,”是否已经正确的加上,否则就会得到非期望的结果。
转载于:https://www.cnblogs.com/honker/archive/2009/01/11/3774452.html
Javascript 逗号“,”引发的血案相关推荐
- 线上 CPU100% 异常案例:一个正则表达式引发的血案
前几天线上一个项目监控信息突然报告异常,上到机器上后查看相关资源的使用情况,发现 CPU 利用率将近 100%.通过 Java 自带的线程 Dump 工具,我们导出了出问题的堆栈信息. 我们可以看到所 ...
- 一个由正则表达式引发的血案
阿里妹导读:周末快到了,今天为大家送上一篇很有意思的小文章,具有提神醒脑之功效.作者是来自阿里巴巴LAZADA产品技术部的申徒童鞋. 血案由来 近期我在为Lazada卖家中心做一个自助注册的项目,其中 ...
- 波涛汹涌的黄金甲,一碗中药引发的血案!
严重声明:网路转载 主要情节: 父王(周润发)说母后(巩利)身体虚寒,需要每天定时服用亲自配置的中药,已服用了几十年.而父王早就知道了母后和太子元祥(刘烨)之间的苟且之事,远征回宫后在其中药中加入一味 ...
- mysql backlog_一次优化引发的血案
前些天一个Nginx+PHP项目上线后遭遇了性能问题,于是打算练练手,因为代码并不是我亲自写的,所以决定从系统层面入手看看能否做一些粗线条的优化. 首先,我发现服务的Backlog设置过小,可以通过s ...
- 第三方账号登陆的过程及由此引发的血案
72agency · 2014/03/19 10:40 0x00 前言 第三方账号登陆也就是当你没有A网站的注册账号时,你可以使用该与A网站合作的第三方账号登陆A,在大多数情况下你会立即拥有与你第三方 ...
- 一个普通ERROR 1135 (HY000)错误引发的血案:
一个普通ERROR 1135 (HY000)错误引发的血案: 今天接到测试人员反应,测试环境前端应用程序无连接mysql数据库,登录mysql服务器,查看错误日志,发现有如下报错: 点击(此处)折叠或 ...
- 一次 Druid 连接池泄露引发的血案!
最近某个应用程序老是卡,需要重启才能解决问题,导致被各种投诉,排查问题是 Druid 连接池泄露引发的血案.. 异常日志如下: ERROR - com.alibaba.druid.pool.GetCo ...
- 一场由过滤器Filter引发的血案
一场由过滤器Filter引发的血案 事件起因 本来应该是下图的登录界面 变成了这样 What's the fuck????? 抓狂 原因 解决方法: 在过滤器中给资源文件开个绿色通道
- silverlight Image Source URI : 一个反斜杠引发的血案
silverlight Image Source URI : 一个反斜杠引发的血案 Silverlight2 现在支持的Image格式有jpg和png,部分png编码也不支持,同时有些png在xaml ...
最新文章
- 对于访问IIS元数据库失败的解决方案
- 文献记录(part79)--光学影像序列中基于多视角聚类的群组行为分析
- 机器学习领域有哪一些值得关注的人
- oracle oms可以调用吗,oracle oms
- ideal 本地jar依赖_通过 YARN 的资源本地化技术减少 Flink 在 YARN 上的部署时间
- UVa 1400 (线段树) Ray, Pass me the dishes!
- Skywalking微服务监控分析
- 002,jvm启动流程
- 剑指offer——面试题20:顺时针打印矩阵
- Block code execution after alert view is displayed in iOS
- ConnectivityManager
- ShellExecuteEx and SHELLEXECUTEINFO and ShellExecute
- 【流量池】裂变营销:10种人脉裂变技能,6个裂变核心,8个吸粉人性本能怎样玩粉丝裂变?
- 继杭州购房宝典后,Github上的这个程序员买房实用指南火了!
- 中奖率的三种常用算法
- 移动端H5的js操作
- outlook邮箱显示一直启动中_win10outlook邮箱怎么设置开机自动运行 - 卡饭网
- php反转图片颜色,PHP 图片处理类(水印、透明度、缩放、相框、锐化、旋转、翻转、剪切、反色)...
- 常见html的MIME类型
- 泛微ecology 会签与非会签
热门文章
- 监控程序崩溃重启_第十四章 Homeassistant服务器安全及状态监控(下)
- 计算机软硬件作品构思报告,计算机方面的实训报告
- 检测网络耗时_无人机替代桥梁检测车检测桥梁的可行性分析
- 【企业管理】人力资源-华为实践
- 《系统集成项目管理工程师》必背100个知识点-14项目章程的内容
- 笔记-信息化与系统集成技术-物联网
- 笔记-项目采购管理-战略合作管理-建立供应商战略合作伙伴关系的意义
- MyBatis中动态sql实现传递多个参数并使用if进行参数的判断和实现like模糊搜索以及foreach实现in集合
- Winforn中使用SaveFileDialog实现另存为对话框
- SpringBoot+Swagger2实现可视化API文档流程