Javascript小括号“()”的多义性

 这篇文章主要介绍了Javascript小括号“()”的多义性。需要的朋友可以过来参考下,希望对大家有所帮助

Javascript中小括号有五种语义
 
语义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一起使用时小括号会将其中的表达式结果隐式的转换成布尔值。见 JavaScript中的隐式类型转换 。
 
语义3,和new一起使用用来传值(实参)
 
 
代码如下:
// 假设已经定义了类Person,它有两个字段姓名(name),年龄(age) 
var p1 = new Person('Jack',26); 
 
语义4,作为函数或对象方法的调用运算符(如果定义了参数也可与语义3一样传实参)
复制代码 代码如下:
// 假设已经定义了函数func 
func(); 
 
// 假设已经定义了对象obj,且拥有func方法 
obj.func(); 
 
这里提下typeof运算符,有人喜欢这么使用
 
typeof(xxx);
 
请注意typeof后的小括号并非语义4(即不是函数调用),而是后面提到的语义5。我使用typeof一般不加后面的小括号。 
 
语义5,强制表达式运算 
 
关于语义5,大家最熟悉的莫过于使用eval解析JSON
 
 
代码如下:
function strToJson(str){ 
     // eval 中字符串两旁加了强制运算符() 
     var json = eval('(' + str + ')');  
     return json; 

 
又如使用较多的是匿名函数自执行
复制代码 代码如下:
(function(){ 
  // ... 
})(); 

时间: 2024-09-10 21:36:58

Javascript小括号“()”的多义性的相关文章

解析Javascript小括号“()”的多义性_javascript技巧

Javascript中小括号有五种语义 语义1,函数声明时参数表 复制代码 代码如下: function func(arg1,arg2){   // ... } 语义2,和一些语句联合使用以达到某些限定作用 复制代码 代码如下: // 和for in一起使用 for(var a in obj){   // ... } // 和if一起使用 if(boo){   //... } // 和while一起使用 while(boo){   // ... } // 和do while一起使用 do{  

Javascript中大括号“{}”的多义性

     这篇文章主要介绍了Javascript中大括号"{}"的多义性.需要的朋友可以过来参考下,希望对大家有所帮助 JS中大括号有四种语义作用   语义1,组织复合语句,这是最常见的      代码如下: if( condition ) {    //...  }else {    //...  }  for() {    //...  }    语义2,对象直接量声明  代码如下: var obj = {      name : 'jack',      age : 23  };

解析Javascript中大括号“{}”的多义性_javascript技巧

JS中大括号有四种语义作用 语义1,组织复合语句,这是最常见的 复制代码 代码如下: if( condition ) {   //... }else {   //... } for() {   //... } 语义2,对象直接量声明 复制代码 代码如下: var obj = {     name : 'jack',     age : 23 }; 整个是个赋值语句,其中的{name:'jack',age:23}是个表达式. 语义3,声明函数或函数直接量 复制代码 代码如下: function f

解析JavaScript中点号“.”的多义性

 这篇文章主要介绍了JavaScript中点号"."的多义性.需要的朋友可以过来参考下,希望对大家有所帮助 点号「.」在JavaScript中有两种语义   语义1.表示算术中的小数点(浮点数),如 2.5   语义2.取对象属性.方法,如 [].push(2)   这几乎没有任何难理解的地方,但下面这个问题则很有趣.     代码如下: // 这行代码会如何执行  1.toString();    Firebug 中如下         这里的点号表达的是上述的语义1,因此点号后面必

JS正则替换掉小括号及内容的方法_javascript技巧

正则表达式:\ ( [ ^ \ ) ] * \ ) JS代码: var str="hello(world)"; var nstr = str.replace(/\([^\)]*\)/g,""); 以上这篇JS正则替换掉小括号及内容的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript 正则 括号.正

解析JavaScript中点号“.”的多义性_javascript技巧

点号「.」在JavaScript中有两种语义 语义1.表示算术中的小数点(浮点数),如 2.5 语义2.取对象属性.方法,如 [].push(2) 这几乎没有任何难理解的地方,但下面这个问题则很有趣. 复制代码 代码如下: // 这行代码会如何执行 1.toString(); Firebug 中如下 这里的点号表达的是上述的语义1,因此点号后面必须跟一个数字,这里跟的是toString,报语法错了. 解决方法很简单,如加个小括号 复制代码 代码如下: (1).toString(); 还可以这么写

jQuery插件资源分享:WEBJX收集微型的JavaScript小框架

文章简介:本文即将介绍的是 15 个微型的 JavaScript 小框架,这些框架都支持 Web 和智能手机平台,短小精干.  问一个 Web 开发者最喜欢的 JS 库是什么,多数回答都是 jQuery,不管他所作的网站是大是小.开发者倾向使用 jQuery 的原因是它可以降低代码的复杂度.而且 jQuery 经过良好的测试,大量的用户以及很好的社区生态以及大量的插件.不过 jQuery 的体积比较大,本文即将介绍的是 15 个微型的 JavaScript 小框架,这些框架都支持 Web 和智能

WEBJX收集12个非常有创意的JavaScript小游戏

JavaScript 在Web开发过程中已经是必不可少的重要分子,他推动着Web的交互性往越来越高的层次发展,现在的很多Web游戏也基于这类语言开发. 这里是12个非常有创意的JavaScript小游戏,希望在给我们带来趣味的同时也能更进一步地了解更深层次的JavaScript语言,原来它可以这样的. Browser Pong Twitch Browser Ball Crystal Galazy Video & Picture Puzzle Apophis 2029 Bing-Bong Bomb

Javascript中中括号“[]”的多义性

 这篇文章主要介绍了Javascript中中括号"[]"的多义性.需要的朋友可以过来参考下,希望对大家有所帮助 Javascript中括号有四种语义   语义1,声明数组      代码如下: var ary = []; // 声明一个空数组 var ary = [1,3]; // 声明一个数组,同时赋初值   语义2,取数组成员  代码如下: var ary = [1,2,3]; var item = ary[0];   语义3,定义对象成员 (可以不遵循标识符规则 ) 代码如下: