最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解析Javascript小括號“()”的多義性

 更新時間:2013年12月03日 08:49:42   作者:  
這篇文章主要介紹了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;
}

又如使用較多的是匿名函數自執(zhí)行
復制代碼 代碼如下:

(function(){
  // ...
})();

相關文章

最新評論

通海县| 车险| 宜都市| 积石山| 双鸭山市| 耒阳市| 闽侯县| 正蓝旗| 封丘县| 会理县| 诸城市| 盐亭县| 石棉县| 罗定市| 连城县| 徐州市| 天镇县| 锦屏县| 雷波县| 和林格尔县| 平舆县| 万荣县| 合山市| 永春县| 永清县| 新野县| 佛学| 泾源县| 陆川县| 将乐县| 碌曲县| 湖南省| 称多县| 平邑县| 镇雄县| 文化| 卢氏县| 门源| 即墨市| 那曲县| 洪湖市|