javascript中的括号()用法小结
1.提高优先级
(1+2)*3 与数学运算中保持一致,先计算1+2再乘以3得出9
(a+(function(i){return i}(2)))*c
function fun(a,b,c)
{
//…
}
(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作为返回值
if(a+b==c){} //if 和 { 之间的内容需放入括号中
相关推荐
-
JS中的eval 为什么加括号
eval简介 ---eval在ECMA定义中是全局对象原型的方法; ---eval接受的参数是字符串格式的js代码, 将由执行引擎(记得'高级程序设计'还是哪说过, 此时新建一个执行引擎)执行这段字符串, 然后返回结果到eval调用的位置. <!DOCTYPE html> <html> <head> <title>eval学习</title> <script type="text/javascript"> /* e
-
基于js里调用函数时,函数名带括号和不带括号的区别
示例代码: <span style="font-size:18px;">function hi(){ var a = 1; return function(){ console.log(a++); }; }; var aaa = hi(); var bbb = hi; </span> 如以上代码: aaa 是将 hi() 的运行结果赋值给它,即 return 返回的匿名函数,此时有一个闭包,则每次调用 aaa 时都访问的同一个 a,aaa() 第一次运行结果为
-
为什么JS中eval处理JSON数据要加括号
由于Ajax的兴起,JSON这种轻量级的数据格式作为客户端与服务器之间的传输格式逐渐地流行起来,进而出现的问题是如何将服务器端构建好的JSON数据转化为可用的JavaScript对象.利用eval函数无疑是一种简单而直接的方法.在转化的时候需要将JSON字符串的外面包装一层圆括号: 复制代码 代码如下: var jsonObject = eval("(" + jsonFormat + ")"); 为什么要加括号? 加上圆括号的目的是迫使eval函数在处理JavaSc
-
JS方法调用括号的问题探讨
移动端的html页面, 写了一个函数. 复制代码 代码如下: function showAlert(msg,fn){ showDialog("alert", msg,"温馨提示",260); if(isNull(fn) == false){ $("#SD_confirm").unbind("click"); $("#SD_confirm").bind("click",fn); } } f
-
浅谈js中调用函数时加不加括号的问题
其实总结起来如下: 函数只要是要调用它进行执行的,都必须加括号.此时,函数()实际上等于函数的返回值.当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码. 不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码.它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行. 所以一般时候我们都是采用的是无括号的原因.这也是由于括号的二义性,因为括号是"函数调用运算符",相当于在执行
-
关于JS中的方法是否加括号的问题
在我们js编写程序的时候,我们会写很多函数然后调用它们,那么这些函数调用的时候什么时候加()什么时候不加()?记住以下几个要点. (1)函数做参数时都不要括号. function fun(e) { alert(e); } function A(fun, e) { fun(e); } A(fun, 3);//弹出'3',函数fun当做实参传入另一个函数时,不加() (2)函数被调用的时候都要加括号. 看上面那段代码,第9行函数A被调用的时候是A(); (3)函数作为赋值符号右边的时候,当无()时传
-
javascript中的括号()用法小结
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)中的参数对应的是前面函数的参数,当第一个括
-
详解JavaScript中return的用法
最近,跟身边学前端的朋友了解,有很多人对函数中的return的用法和意思理解的比较模糊,这里写一篇文章跟大家一起探讨一下return的用法. 1定义 return,从字面意思来看就是返回,官方定义return语句将终止当前函数并返回当前函数的值:可以看下下面的示例代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>
-
JavaScript中eval()函数用法详解
eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行. 如果参数是一个表达式,eval() 函数将执行表达式.如果参数是Javascript语句,eval()将执行 Javascript 语句. 语法 复制代码 代码如下: eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句. eval()函数用法详解: 此函数可能使用的频率并不是太高,但是在某些情况下具有很大的作用,下面就介绍一下eva
-
javaScript产生随机数的用法小结
var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']; function generateMixed(n) { var res = ""; for(var i = 0; i < n ; i ++) { var id = M
-
javaScript中push函数用法实例分析
本文实例讲述了javaScript中push函数用法.分享给大家供大家参考.具体分析如下: javaScript 中的 push 方法,将新元素添加到一个数组中,并返回数组的新长度值. arrayObj.push([item1 [item2 [. . . [itemN ]]]]) 参数 arrayObj,必选项.一个 Array 对象. item, item2,. . . itemN, 可选项.该 Array 的新元素. 说明 push
-
JavaScript中exec函数用法实例分析
本文实例讲述了JavaScript中exec函数用法.分享给大家供大家参考.具体如下: javaScript 中的 exec 函数,用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组. rgExp.exec(str) 参数: rgExp 必选项.包含正则表达式模式和可用标志的正则表达式对象. str 必选项.要在其中执行查找的 String 对象或字符串文字. 说明: 如果 exec 方法没有找到匹配,则它返回 null.如果它找到匹配,则 exec 方法返回一个数组,并
-
javascript中动态函数用法实例分析
本文实例讲述了javascript中动态函数用法.分享给大家供大家参考.具体分析如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>动态函数</title> <script
-
javascript中sort()的用法实例分析
本文实例分析了javascript中sort()的用法.分享给大家供大家参考.具体分析如下: 函数的语法: arrayObject.sort(sortby) you think this is not the right way but you love it 这里还用到了split函数,目的是去到一个字符串的数组,比较常用.然后通过数组的排序函数sort()对数组内的值进行排序,得到新的数组,然后通过循环输出数组的内容就得到了排序后的字符串. 在例子中,默认情况下,它会按照ascii码来进行排
-
javascript中eval函数用法分析
本文实例分析了javascript中eval函数用法.分享给大家供大家参考.具体分析如下: eval()只有一个参数,如果传入的参数不是字符串,则直接返回这个参数.否则会将字符串当成js代码进行编译,如果编译失败则抛出语法错误(SyntaxError)异常.如果编译成功则开始执行这段代码,并返回字符串中的最后一个表达式或语句的值:如果最后一个表达式或语句没有值,则最终返回undefined.如果字符串抛出异常,则该异常将把该调用传递给eval(); eval()最为重要的是,它使用了调用它的变量
-
javascript中clipboardData对象用法详解
本文实例讲述了javascript中clipboardData对象用法.分享给大家供大家参考.具体分析如下: clipboardData对象 ,注意网页里剪贴板到现在只能设置Text类型,即只能复制文本 clearData("Text")清空粘贴板 getData("Text")读取粘贴板的值 setData("Text",val)设置粘贴板的值 当复制的时候body的oncopy事件被触发,直接return false就是禁止复制,注意是不能
随机推荐
- JavaScript中的包装对象介绍
- Vue中使用vux的配置详解
- 什么是zabbix(高度集成的监控集成方案)
- linux下用renameTo方法修改java web项目中文件夹名称的实例
- MySQL使用临时表加速查询的方法
- 简析Android五大布局(LinearLayout、FrameLayout、RelativeLayout等)
- C#中foreach实现原理详解
- Android 用adb pull或push 拷贝手机文件到到电脑上,拷贝手机数据库到电脑上,拷贝电脑数据库到手机上
- 浅析Android中的visibility属性
- 原生JS实现跑马灯效果
- 给moz-firefox下添加IE方法和属性
- 3个备份系统文件并邮件发送的Shell脚本分享
- 基于jquery实现后台左侧菜单点击上下滑动显示
- jQuery中toggle()函数的使用实例
- 解析linux 文件和目录操作的相关函数
- SpringMVC多个文件上传及上传后立即显示图片功能
- Spring MVC 关于controller的字符编码问题
- C# 实现计算生辰八字
- 详解android 人脸检测你一定会遇到的坑
- Vue项目全局配置微信分享思路详解