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 相关文章推荐
共享自己写一个框架DreamScript
Jan 20 Javascript
懒就要懒到底——鼠标自动点击(含时间判断)
Feb 20 Javascript
在IE模态窗口中自由查看HTML源码的方法
Mar 08 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
Mar 29 Javascript
如何使Chrome控制台支持多行js模式——意外发现
Jun 13 Javascript
简单时间提示DEMO从0开始一直进行计时
Nov 19 Javascript
JavaScript数组前面插入元素的方法
Apr 06 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
Sep 23 Javascript
Vue.js实战之组件之间的数据传递
Apr 01 Javascript
详解利用jsx写vue组件的方法示例
Jul 17 Javascript
前端主流框架vue学习笔记第二篇
Jul 26 Javascript
Angular CLI发布路径的配置项浅析
Mar 29 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获取字符串中各个字符出现次数的方法
2015/02/23 PHP
php中header跳转使用include包含解决参数丢失问题
2015/05/08 PHP
PHP设计模式之抽象工厂模式实例分析
2019/03/25 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
ASP SQL防注入的方法
2008/12/25 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
2014/10/31 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
快速学习jQuery插件 Form表单插件使用方法
2015/12/01 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
jQuery实现购物车全功能
2021/01/11 jQuery
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
Python中的连接符(+、+=)示例详解
2017/01/13 Python
详解django2中关于时间处理策略
2019/03/06 Python
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
经济信息管理专业大学生求职信
2013/09/27 职场文书
陕西导游词
2015/02/04 职场文书
办公室主任个人总结
2015/02/28 职场文书
小平小道观后感
2015/06/09 职场文书
2015年征兵工作总结
2015/07/23 职场文书
CSS极坐标的实例代码
2021/06/03 HTML / CSS
Canvas绘制像素风图片的示例代码
2021/09/25 HTML / CSS
python读取mat文件生成h5文件的实现
2022/07/15 Python