JavaScript中小括号有五种语义

贵州网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联自2013年起到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
语义1,函数声明时参数表
- function func(arg1,arg2){
 - // ...
 - }
 
语义2,和一些语句联合使用以达到某些限定作用
- // 和for in一起使用
 - for(var a in obj){
 - // ...
 - }
 - // 和if一起使用
 - if(boo){
 - //...
 - }
 - // 和while一起使用
 - while(boo){
 - // ...
 - }
 - // 和do while一起使用
 - do{
 - // ...
 - }while(boo)
 
注意:在与if、while及do while一起使用时小括号会将其中的表达式结果隐式的转换成布尔值。见无处不在的隐式类型转换 。
语义3,和new一起使用用来传值(实参)
- // 假设已经定义了类Person,它有两个字段姓名(name),年龄(age)
 - var p1 = new Person('Jack',26);
 
语义4,作为函数或对象方法的调用运算符(如果定义了参数也可与语义3一样传实参)
- // 假设已经定义了函数func
 - func();
 - // 假设已经定义了对象obj,且拥有func方法
 - obj.func();
 
这里提下typeof运算符,有人喜欢这么使用
请注意typeof后的小括号并非语义4(即不是函数调用),而是后面提到的语义5。我使用typeof一般不加后面的小括号。见 具名函数的多种调用方式
语义5,强制表达式运算
- function strToJson(str){
 - // eval 中字符串两旁加了强制运算符()
 - var json = eval('(' + str + ')');
 - return json;
 - }
 
关于语义5,大家最熟悉的莫过于使用eval解析JSON
又如使用较多的是匿名函数自执行
- (function(){
 - // ...
 - })();
 
注意,以上代码第1对小括号是语义5,第3对则是语义4。
原文链接:http://www.cnblogs.com/snandy/archive/2011/03/08/1977112.html
                本文题目:JavaScript小括号“()”的多义性
                
                本文路径:http://www.csdahua.cn/qtweb/news5/61705.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网