JavaScript中圆括号()和方括号[]的特殊用法疑问解答


Posted in Javascript onAugust 06, 2013

(1, 2, 3);
// return 3; 很好奇,为什么会返回3?这是什么机制?圆括号起到了什么作用?

(1, 2, 3, alert )("Amazing!");
// 这里就更好玩了,居然可以直接调用alert ;经过测试,全局函数都可以通过这样调用。

下面是关于 方括号[] 的疑问:
在JS中,[]几乎就和数组画上了等号,但也有神奇的时候。

[1,2,3][1];
// return 2; 当然这种方法也经常使用,常用于数组的索引 和 调用的对象的响应属性名存放在某个变量时。
[1,2,3][1,2];

//return 3 ; 这种情况就有趣多了,和上面圆括号的情况很像,都会返回括号内的最后一个值

在(1,2,3)里,括号和逗号都是运算符,逗号运算符返回最后一个表达式的求值结果,具体规则可自己查。
("Amazing")的括号表示函数调用。
alert是一个函数对象,当它作为表达式的求值结果返回,当然可以被调用。

[1,2,3]这里的方括号是声明数组常量,紧跟[1]表示取数组元素。[1,2,3][1]意为取[1,2,3]这个数组里的第一个元素,即2(下标从0开始)

[1,2,3][1,2]=[1,2,3][(1,2)]=[1,2,3][2]=3

Javascript 相关文章推荐
jQuery之网页换肤实现代码
Apr 30 Javascript
jQuery中even选择器的定义和用法
Dec 23 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
Apr 16 Javascript
javascript中select下拉框的用法总结
Jan 07 Javascript
JavaScript数组的一些奇葩行为
Jan 25 Javascript
bootstrap select插件封装成Vue2.0组件
Apr 17 Javascript
JavaScript错误处理和堆栈追踪详解
Apr 18 Javascript
认识less和webstrom的less配置方法
Aug 02 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
Mar 10 Javascript
vue forEach循环数组拿到自己想要的数据方法
Sep 21 Javascript
JS对象和字符串之间互换操作实例分析
Feb 02 Javascript
微信小程序报错: thirdScriptError的错误问题
Jun 19 Javascript
javascript 获取模态窗口的滚动位置代码
Aug 06 #Javascript
JS this作用域以及GET传输值过长的问题解决方法
Aug 06 #Javascript
JS常见问题整理(持续更新)
Aug 06 #Javascript
JavaScript等比例缩放图片控制超出范围的图片
Aug 06 #Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
Aug 06 #Javascript
浅析js中2个等号与3个等号的区别
Aug 06 #Javascript
JavaScript:Div层拖动效果实例代码
Aug 06 #Javascript
You might like
php中文件上传的安全问题
2006/10/09 PHP
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
PHP 单引号与双引号的区别
2009/11/24 PHP
php session的应用详细介绍
2017/03/22 PHP
javascript 学习笔记(onchange等)
2010/11/14 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
node.js中的fs.lstatSync方法使用说明
2014/12/16 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
2015/04/07 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
详解JS正则replace的使用方法
2016/03/06 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
微信小程序教程系列之视图层的条件渲染(10)
2017/04/19 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
2017/11/11 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
JS常见DOM节点操作示例【创建 ,插入,删除,复制,查找】
2018/05/14 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
Python函数中*args和**kwargs来传递变长参数的用法
2016/01/26 Python
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
Python中顺序表的实现简单代码分享
2018/01/09 Python
python多进程读图提取特征存npy
2019/05/21 Python
python switch 实现多分支选择功能
2020/12/21 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
德国网上超市:myTime.de
2019/08/26 全球购物
新学期班主任寄语
2014/01/18 职场文书
法律顾问服务方案
2014/05/15 职场文书
求职教师自荐书
2014/06/19 职场文书
委托书的格式
2014/08/01 职场文书
教师节座谈会主持词
2015/07/03 职场文书
如何在Python项目中引入日志
2021/05/31 Python
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
2022/03/03 Python