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中获取iframe的代码
Jan 11 Javascript
jQuery如何防止这种冒泡事件发生
Feb 27 Javascript
jQuery实现的多滑动门,多选项卡效果代码
Mar 28 Javascript
如何判断出一个js对象是否一个dom对象
Nov 24 Javascript
基于Vue.js实现简单搜索框
Mar 26 Javascript
脚本div实现拖放功能(两种)
Feb 13 Javascript
JavaScript设置名字输入不合法的实现方法
May 23 Javascript
JS仿淘宝搜索框用户输入事件的实现
Jun 19 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 Javascript
解决JQuery全选/反选第二次失效的问题
Oct 11 jQuery
vue项目优化之通过keep-alive数据缓存的方法
Dec 11 Javascript
vue按需加载实例详解
Sep 06 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
最小化数据传输――在客户端存储数据
2006/10/09 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
用JavaScript获取网页中的js、css、Flash等文件
2006/12/20 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
JavaScript动态创建div属性和样式示例代码
2013/10/09 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
2017/01/04 Javascript
AngularJS执行流程详解
2017/02/17 Javascript
Vue.js组件tab实现选项卡切换
2020/03/23 Javascript
vue中的provide/inject的学习使用
2018/05/09 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
Vue分页效果与购物车功能
2019/12/13 Javascript
把大数据数字口语化(python与js)两种实现
2013/02/21 Python
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
python 巧用正则寻找字符串中的特定字符的位置方法
2018/05/02 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
Python爬虫框架Scrapy常用命令总结
2018/07/26 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
tensorboard显示空白的解决
2020/02/15 Python
社区庆八一活动方案
2014/02/02 职场文书
承诺书的格式范文
2014/03/28 职场文书
个人贷款收入证明
2014/10/26 职场文书
暑期社会实践证明书
2014/11/17 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书
职场中的你,辞职信写对了吗?
2019/06/26 职场文书
python百行代码实现汉服圈图片爬取
2021/11/23 Python
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang
redis 解决库存并发问题实现数量控制
2022/04/08 Redis
解决springboot druid数据库连接失败后一直重连的方法
2022/04/19 Java/Android