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实现简单时尚快捷的气泡提示插件
Dec 20 Javascript
给js文件传参数(详解)
Jul 13 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
Apr 06 Javascript
微信小程序 wx.request(object) API详解及实例代码
Sep 30 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
Sep 14 Javascript
node.js遍历目录的方法示例
Aug 01 Javascript
对vue 键盘回车事件的实例讲解
Aug 25 Javascript
小程序自定义单页面、全局导航栏的实现代码
Mar 15 Javascript
node.js ws模块搭建websocket服务端的方法示例
Apr 25 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
May 07 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
Mar 31 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
Jun 08 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
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
一篇有意思的技术文章php介绍篇
2010/10/26 PHP
深入解析fsockopen与pfsockopen的区别
2013/07/05 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
layui 监听表格复选框选中值的方法
2018/08/15 Javascript
利用vue-i18n实现多语言切换效果的方法
2019/06/19 Javascript
QML实现圆环颜色选择器
2019/09/25 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
echarts实现折线图的拖拽效果
2019/12/19 Javascript
Django contenttypes 框架详解(小结)
2018/08/13 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
python双向链表原理与实现方法详解
2019/12/03 Python
Django设置Postgresql的操作
2020/05/14 Python
解锁canvas导出图片跨域的N种姿势小结
2019/01/24 HTML / CSS
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
装潢设计实习自我鉴定
2013/09/19 职场文书
物业总经理岗位职责
2014/02/28 职场文书
会计专业自荐信
2014/06/03 职场文书
教师先进个人材料
2014/12/17 职场文书
关于学习的决心书
2015/02/05 职场文书
大学生个人学习总结
2015/02/15 职场文书
Python中OpenCV实现简单车牌字符切割
2021/06/11 Python
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers