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 相关文章推荐
定义select的边框颜色
Apr 28 Javascript
javascript 遍历验证所有文本框的值
Aug 27 Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
Dec 14 Javascript
SharePoint 客户端对象模型 (一) ECMA Script
May 22 Javascript
JQ获取动态加载的图片大小的正确方法分享
Nov 08 Javascript
js给网页加上背景音乐及选择音效的方法
Mar 03 Javascript
微信小程序前端源码逻辑和工作流
Sep 25 Javascript
JS复杂判断的更优雅写法代码详解
Nov 07 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
Feb 28 Javascript
mpvue小程序循环动画开启暂停的实现方法
May 15 Javascript
解决$store.getters调用不执行的问题
Nov 08 Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
Jan 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
2020最新CPU的性能排名
2020/04/02 数码科技
理解php Hash函数,增强密码安全
2011/02/25 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
js实现文字滚动效果
2016/03/03 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
vue2.0模拟锚点的实例
2018/03/14 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
[01:08:09]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第二局
2016/03/02 DOTA
Python实现端口复用实例代码
2014/07/03 Python
使用Django Form解决表单数据无法动态刷新的两种方法
2017/07/14 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
django 基于中间件实现限制ip频繁访问过程详解
2019/07/30 Python
python实现最大优先队列
2019/08/29 Python
python实现将视频按帧读取到自定义目录
2019/12/10 Python
什么是Python包的循环导入
2020/09/08 Python
python飞机大战游戏实例讲解
2020/12/04 Python
pandas针对excel处理的实现
2021/01/15 Python
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
纽约家具、家居装饰和地毯店:ABC Carpet & Home
2017/06/21 全球购物
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
Weblogic的布署方式
2013/08/23 面试题
电气自动化专业职业规划范文
2014/02/16 职场文书
领导失职检讨书
2014/02/24 职场文书
小学学雷锋活动总结
2014/04/25 职场文书
创优争先心得体会
2014/09/11 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
年会邀请函范文
2015/01/30 职场文书
教师年度考核个人总结
2015/02/12 职场文书
2015年计划生育责任书
2015/05/08 职场文书
Go web入门Go pongo2模板引擎
2022/05/20 Golang