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 Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
Sep 27 Javascript
javascript日期转换 时间戳转日期格式
Nov 05 Javascript
JS 添加网页桌面快捷方式的代码详细整理
Dec 27 Javascript
a标签的href和onclick 的事件的区别介绍
Jul 26 Javascript
jquery果冻抖动效果实现方法
Jan 15 Javascript
js实现简单的验证码
Dec 25 Javascript
js实现文字无缝向上滚动
Feb 16 Javascript
js实现倒计时效果(小于10补零)
Mar 08 Javascript
Vue.js中的computed工作原理
Mar 22 Javascript
详解小程序开发经验:多页面数据同步
May 18 Javascript
开发中常用的25个JavaScript单行代码(小结)
Jun 28 Javascript
autojs 蚂蚁森林能量自动拾取即给指定好友浇水的实现方法
May 03 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应用提速面面观
2006/10/09 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
JQuery 国际象棋棋盘 实现代码
2009/06/26 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
Javascript中实现String.startsWith和endsWith方法
2015/06/10 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
详解angularJs指令的3种绑定策略
2017/04/13 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
JavaScript实现更换背景图片
2019/10/18 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
Python运算符重载用法实例
2015/05/28 Python
快速了解Python相对导入
2018/01/12 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
使用Python实现在Windows下安装Django
2018/10/17 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
工程造价自荐信
2013/10/09 职场文书
我们的节日元宵节活动总结
2015/02/06 职场文书
2015年园林绿化工作总结
2015/05/23 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle
python可视化大屏库big_screen示例详解
2021/11/23 Python
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电
MySQL导致索引失效的几种情况
2022/06/25 MySQL