国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:56:47
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了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(){
  // ...
})();

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 特克斯县| 兴宁市| 吉木乃县| 商城县| 曲周县| 孟津县| 惠水县| 桐梓县| 榆树市| 上栗县| 新蔡县| 巴青县| 延长县| 长沙市| 灵山县| 孟津县| 措勤县| 永兴县| 繁峙县| 望谟县| 平舆县| 剑川县| 宁化县| 三门县| 普陀区| 新邵县| 林州市| 枣阳市| 汕尾市| 鹤庆县| 自治县| 洛川县| 毕节市| 亳州市| 沁水县| 达日县| 太谷县| 太谷县| 民丰县| 巴彦县| 镇赉县|