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 相关文章推荐
javascript 模拟点击广告
Jan 02 Javascript
jQuery中读取json文件示例代码
May 10 Javascript
ajax请求乱码的解决方法(中文乱码)
Apr 10 Javascript
javascript实现树形菜单的方法
Jul 17 Javascript
js实现匹配时换色的输入提示特效代码
Aug 17 Javascript
一分钟理解js闭包
May 04 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
May 09 Javascript
javascript内存分配原理实例分析
Apr 10 Javascript
使用Angular CLI生成 Angular 5项目教程详解
Mar 18 Javascript
基于Express框架使用POST传递Form数据
Aug 10 Javascript
vue.js this.$router.push获取不到params参数问题
Mar 03 Javascript
JS数组转字符串实现方法解析
Sep 04 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
destoon常用的安全设置概述
2014/06/21 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
Mootools 1.2教程 Fx.Tween的使用
2009/09/15 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
jquery中attr和prop的区别分析
2015/03/16 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
2015/11/23 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
使用node.js中的Buffer类处理二进制数据的方法
2016/11/26 Javascript
前端构建工具之gulp的配置与搭建详解
2017/06/12 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
vue 组件使用中的一些细节点
2018/04/25 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
vue自定义switch开关组件,实现样式可自行更改
2019/11/01 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
Zabbix实现微信报警功能
2016/10/09 Python
利用Python读取文件的四种不同方法比对
2017/05/18 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
keras.layer.input()用法说明
2020/06/16 Python
python 实现批量图片识别并翻译
2020/11/02 Python
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
2014年公司迎新年活动方案
2014/02/24 职场文书
社区活动总结报告
2014/05/05 职场文书
2014年学校国庆主题活动方案
2014/09/16 职场文书
执行力心得体会范文
2016/01/11 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书