日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

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

發(fā)布時間:2025/6/15 java 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Javascript小括号“()”的多义性 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Javascript中小括號有五種語義

  語義1,函數(shù)聲明時參數(shù)表

view source print?
1function func(arg1,arg2){
2??// ...
3}

  語義2,和一些語句聯(lián)合使用以達到某些限定作用

view source print?
01// 和for in一起使用
02for(var a in obj){
03??// ...
04}
05// 和if一起使用
06if(boo){
07??//...
08}
09// 和while一起使用
10while(boo){
11??// ...
12}
13// 和do while一起使用
14do{
15??// ...
16}while(boo)

  注意:在與if、while及do while一起使用時小括號會將其中的表達式結(jié)果隱式的轉(zhuǎn)換成布爾值。見無處不在的隱式類型轉(zhuǎn)換 。

  語義3,和new一起使用用來傳值(實參)

view source print?
1// 假設(shè)已經(jīng)定義了類Person,它有兩個字段姓名(name),年齡(age)
2var p1 = new Person('Jack',26);

  語義4,作為函數(shù)或?qū)ο蠓椒ǖ恼{(diào)用運算符(如果定義了參數(shù)也可與語義3一樣傳實參)

view source print?
1// 假設(shè)已經(jīng)定義了函數(shù)func
2func();
3// 假設(shè)已經(jīng)定義了對象obj,且擁有func方法
4obj.func();

  這里提下typeof運算符,有人喜歡這么使用

  typeof(xxx);

  請注意typeof后的小括號并非語義4(即不是函數(shù)調(diào)用),而是后面提到的語義5。我使用typeof一般不加后面的小括號。見 具名函數(shù)的多種調(diào)用方式

  語義5,強制表達式運算

  關(guān)于語義5,大家最熟悉的莫過于使用eval解析JSON

view source print?
1function strToJson(str){
2?????// eval 中字符串兩旁加了強制運算符()
3?????var json = eval('(' + str + ')');?
4?????return json;
5}

  又如使用較多的是匿名函數(shù)自執(zhí)行

view source print?
1(function(){
2??// ...
3})();

  注意,以上代碼第1對小括號是語義5,第3對則是語義4。

總結(jié)

以上是生活随笔為你收集整理的Javascript小括号“()”的多义性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。