javascript中的括号()用法小结


Posted in Javascript onApril 14, 2014

1.提高优先级

(1+2)*3 与数学运算中保持一致,先计算1+2再乘以3得出9

同时也可以是其他表达式,如:

(a+(function(i){return i}(2)))*c

2.函数的参数要放在括号里()

function fun(a,b,c)
{
    //…
}

3.立即执行函数表达式
(function fun(a,b,c)
{
    //…
})(1,2,3)

这里的括号(1,2,3)中的参数对应的是前面函数的参数,当第一个括号的代码符合表达式规则时,前面的代码会被作为函数表达式来执行,所以最好在第一个函数表达式前面加上“;”分隔开,否则会报前一个表达式的值不是函数的错误。

如:alert(1)(function(){})(),此时alert(1)先执行,由于符合立即执行的函数表达式规则,所以alert(1)的返回值会被作为函数,同时将后一个括号中的值作为参数传入,但alert(1)返回的是undefined,所以会报错。解决办法就是在alert(1)后面加上“;”或者“,”,将其拆分为两个表达式。

立即执行还可以用

(function fun(a,b,c)
{
    //…
}(1,2,3))!function fun(a,b,c)
{
    //…
}(1,2,3)
void function fun(a,b,c)
{
    //…
}(1,2,3)

等方式,只要函数符合函数表达式语法规则即可。

单独执行一个函数时也需要加括号,不能省略,如:fun(),fun(1,2,3)

4.执行单个或多个表达式,并返回最后一个表达式的值,多个表达式之间需要用逗号“,”分隔开

(1,2+3,4+5,6)//代码会被一次执行,最后将6作为返回值

5.条件表达式,与4类似,但用于条件判断中

if(a+b==c){} //if 和 { 之间的内容需放入括号中

 
Javascript 相关文章推荐
一款js和css代码压缩工具[附JAVA环境配置方法]
Apr 16 Javascript
再谈javascript图片预加载技术(详细演示)
Mar 12 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
Apr 15 Javascript
jquery表格内容筛选实现思路及代码
Apr 16 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
Dec 01 Javascript
webpack中引用jquery的简单实现
Jun 08 Javascript
vue 实现类似淘宝星级评分的示例
Mar 01 Javascript
Vue2.0点击切换类名改变样式的方法
Aug 22 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 jQuery
vue实现分页组件
Jun 16 Javascript
JS 5种遍历对象的方式
Jun 16 Javascript
Vue使用Proxy代理后仍无法生效的解决
Nov 13 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
Apr 12 #Javascript
jQuery操作表格(table)的常用方法、技巧汇总
Apr 12 #Javascript
JS获取URL中参数值(QueryString)的4种方法分享
Apr 12 #Javascript
javascript对JSON数据排序的3个例子
Apr 12 #Javascript
Js保留小数点的4种效果实现代码分享
Apr 12 #Javascript
JS判断客户端是手机还是PC的2个代码
Apr 12 #Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
Apr 12 #Javascript
You might like
php 之 没有mysql支持时的替代方案
2006/10/09 PHP
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
Mac下快速搭建PHP开发环境步骤详解
2019/05/05 PHP
Javascript里使用Dom操作Xml
2006/09/20 Javascript
JS 控制CSS样式表
2009/08/20 Javascript
JS 树形递归实例代码
2010/05/18 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
JavaScript+html5 canvas绘制的小人效果
2016/01/27 Javascript
JavaScript学习笔记--常用的互动方法
2016/12/07 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
2017/08/25 Javascript
element-ui中select组件绑定值改变,触发change事件方法
2018/08/24 Javascript
bootstrap table表格插件之服务器端分页实例代码
2018/09/12 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
ES6小技巧之代替lodash
2019/06/07 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
JS数组方法reduce的用法实例分析
2020/03/03 Javascript
python基础知识小结之集合
2015/11/25 Python
浅谈Python中用datetime包进行对时间的一些操作
2016/06/23 Python
Python面向对象之多态原理与用法案例分析
2019/12/30 Python
Python selenium模拟手动操作实现无人值守刷积分功能
2020/05/13 Python
详解python 内存优化
2020/08/17 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
HTMl5的存储方式sessionStorage和localStorage详解
2014/03/18 HTML / CSS
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
迟到检讨书500字
2014/02/05 职场文书
党委书记个人检查对照材料思想汇报
2014/10/11 职场文书
讲座新闻稿
2015/07/18 职场文书
微信小程序实现聊天室功能
2021/06/14 Javascript
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL