新聞中心
JavaScript中小括號有五種語義

貴州網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
語義1,函數(shù)聲明時參數(shù)表
- function func(arg1,arg2){
- // ...
- }
語義2,和一些語句聯(lián)合使用以達(dá)到某些限定作用
- // 和for in一起使用
- for(var a in obj){
- // ...
- }
- // 和if一起使用
- if(boo){
- //...
- }
- // 和while一起使用
- while(boo){
- // ...
- }
- // 和do while一起使用
- do{
- // ...
- }while(boo)
注意:在與if、while及do while一起使用時小括號會將其中的表達(dá)式結(jié)果隱式的轉(zhuǎn)換成布爾值。見無處不在的隱式類型轉(zhuǎn)換 。
語義3,和new一起使用用來傳值(實(shí)參)
- // 假設(shè)已經(jīng)定義了類Person,它有兩個字段姓名(name),年齡(age)
- var p1 = new Person('Jack',26);
語義4,作為函數(shù)或?qū)ο蠓椒ǖ恼{(diào)用運(yùn)算符(如果定義了參數(shù)也可與語義3一樣傳實(shí)參)
- // 假設(shè)已經(jīng)定義了函數(shù)func
- func();
- // 假設(shè)已經(jīng)定義了對象obj,且擁有func方法
- obj.func();
這里提下typeof運(yùn)算符,有人喜歡這么使用
請注意typeof后的小括號并非語義4(即不是函數(shù)調(diào)用),而是后面提到的語義5。我使用typeof一般不加后面的小括號。見 具名函數(shù)的多種調(diào)用方式
語義5,強(qiáng)制表達(dá)式運(yùn)算
- function strToJson(str){
- // eval 中字符串兩旁加了強(qiáng)制運(yùn)算符()
- var json = eval('(' + str + ')');
- return json;
- }
關(guān)于語義5,大家最熟悉的莫過于使用eval解析JSON
又如使用較多的是匿名函數(shù)自執(zhí)行
- (function(){
- // ...
- })();
注意,以上代碼第1對小括號是語義5,第3對則是語義4。
原文鏈接:http://www.cnblogs.com/snandy/archive/2011/03/08/1977112.html
網(wǎng)頁標(biāo)題:JavaScript小括號“()”的多義性
文章鏈接:http://fisionsoft.com.cn/article/djpgjce.html


咨詢
建站咨詢
