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 相关文章推荐
js href的用法
May 13 Javascript
Javascript下IE与Firefox下的差异兼容写法总结
Jun 18 Javascript
jquery 动态创建元素的方式介绍及应用
Apr 21 Javascript
JS去除右边逗号的简单方法
Jul 03 Javascript
js实现最短的XML格式化工具实例
Mar 12 Javascript
Javascript中的方法链(Method Chaining)介绍
Mar 15 Javascript
js实现统计字符串中特定字符出现个数的方法
Aug 02 Javascript
微信小程序 教程之wxapp视图容器 swiper
Oct 19 Javascript
ES10 特性的完整指南小结
Mar 04 Javascript
Vue开发之封装上传文件组件与用法示例
Apr 25 Javascript
微信小程序常用的3种提示弹窗实现详解
Sep 19 Javascript
JS面向对象之多选框实现
Jan 17 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学习之 数组声明
2011/06/09 PHP
php获取文件夹路径内的图片以及分页显示示例
2014/03/11 PHP
PHP可变函数学习小结
2015/11/29 PHP
linux下php上传文件注意事项
2016/06/11 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
jquery 1.4.2发布!主要是性能与API
2010/02/25 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
js弹出层永远居中实现思路及代码
2013/11/29 Javascript
详解JavaScript语言的基本语法要求
2015/11/20 Javascript
jQuery获取DOM节点实例分析(2种方式)
2015/12/15 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
Vue中的循环及修改差值表达式的方法
2019/08/29 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
vue全屏事件开发详解
2020/06/17 Javascript
[01:00:14]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第三场
2018/04/10 DOTA
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
python+pygame简单画板实现代码实例
2017/12/13 Python
python sorted函数原理解析及练习
2020/02/10 Python
解决Python数据可视化中文部分显示方块问题
2020/05/16 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
旅游管理本科生求职信
2013/10/14 职场文书
cf搞笑广告词
2014/03/14 职场文书
交通志愿者活动总结
2014/06/27 职场文书
优秀教研组申报材料
2014/12/26 职场文书
清明节寄语2015
2015/03/23 职场文书
2019年大学推荐信
2019/06/24 职场文书
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android