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

淺談JS運(yùn)算符&&和|| 及其優(yōu)先級(jí)

 更新時(shí)間:2016年08月10日 10:08:43   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇淺談JS運(yùn)算符&&和|| 及其優(yōu)先級(jí)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

今天看了一段YUI compressor壓縮的js代碼:

userNum && (ind += index,ind >= userNum && (ind -= userNum),ind < 0 && (ind === -2 && (ind = -1),ind += userNum),selLi.removeClass("on"),$(selLi[ind]).addClass("on"));

直接瘋掉了,估計(jì)一下子沒(méi)幾個(gè)人能看懂。那么就把他“翻譯”一下。

&& (邏輯與)

這里主要是一個(gè)“&&”運(yùn)算,首先要搞懂這個(gè),看一個(gè)簡(jiǎn)單的例子:

1 var a = 1 && 2 && 3;//3 

2 var b = 0 && 1 && 2;//0 

3 var c = 1 && 0  && 2;//0 

4 alert(a),alert(b),alert(c);

嘿嘿,寫(xiě)法很奇怪,運(yùn)行的結(jié)果是3,0,0。一般我們?cè)趇f語(yǔ)句中經(jīng)常用到?!?amp;&” (邏輯與) 運(yùn)算和“||”運(yùn)算真好相反,“&&” 運(yùn)算遇到false就返回。

例如: a && b ,如果 a 為true,直接返回b,而不管b為true或者false 。如果 a 為false 那么直接返回a,上面例子中第一個(gè)var a = 1 && 2 && 3;因?yàn)? && 2,1為真,返回2;2&&3, 2為真,返回3 。

搞懂了“&&” 運(yùn)算,再來(lái)看最上的面的YUI compressor壓縮的js代碼,翻譯一下:

if(userNum){
	ind+=index;
	if(ind>=userNum){
	 	ind-=userNum;
	}
     if(ind < 0){
		if(ind === -2){
			ind = -1;
		}
  		ind += userNum;
	}
	selLi.removeClass("on");
	$(selLi[ind]).addClass("on");
  }

說(shuō)來(lái)慚愧,年紀(jì)大了,足足“翻譯”了半個(gè)小時(shí),還是在同事的幫助下才“翻譯”正確。

||(邏輯或)

再來(lái)看看“||”(邏輯或)運(yùn)算,看例子:

1 var a = 0 || 1 || 2;//1 

2 var b = 1 || 0 || 3;//1 

3 alert(a),alert(b);

“||”運(yùn)算遇到true就返回。例如:a || b ,如果 a 為false,直接返回b,而不管b為true或者false 。如果 a 為true,直接返回a,而不會(huì)繼續(xù)往下執(zhí)行。

&& (邏輯與) 和||(邏輯或)混合使用的時(shí)候要注意他們的優(yōu)先級(jí):

&& (邏輯與) 優(yōu)先級(jí)高于||(邏輯或)

return a && b || c ,

根據(jù)a來(lái)判斷返回值,a 是 false 則肯定返回 c;如果 b , c 都是 true ,那么我們就可以根據(jù) a 來(lái)決定b 還是 c ,如果 a 是 false 則返回 c,如果a是true 則返回 b。

return a || b && c

根據(jù)優(yōu)先級(jí)相當(dāng)于先算 b && c ,然后和a 相 或;如果a是true,則返回a,不論是b或c,如果a是false,則如果b是false,返回b,如果b是true,返回c; 

1 var a = 3  &&  0 || 2;  //2 

3 var b = 3 || 0  &&  2; // 3 

5 var c= 0 || 2 && 3; // 3 

6 alert(a),alert(b),alert(c);

另附:JS運(yùn)算符優(yōu)先級(jí)(從高到低列出)

運(yùn)算符 描述
. [] () 字段訪問(wèn)、數(shù)組下標(biāo)、函數(shù)調(diào)用以及表達(dá)式分組
++ -- - ~ ! delete new typeof void 一元運(yùn)算符、返回?cái)?shù)據(jù)類(lèi)型、對(duì)象創(chuàng)建、未定義值
* / % 乘法、除法、取模
+ - + 加法、減法、字符串連接
<< >> >>> 移位
< <= > >= instanceof 小于、小于等于、大于、大于等于、instanceof
== != === !== 等于、不等于、嚴(yán)格相等、非嚴(yán)格相等
& 按位與
^ 按位異或
| 按位或
&& 邏輯與
|| 邏輯或
?: 條件
= oP= 賦值、運(yùn)算賦值
, 多重求值

以上這篇淺談JS運(yùn)算符&&和|| 及其優(yōu)先級(jí)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • canvas 畫(huà)布在主流瀏覽器中的尺寸限制詳細(xì)介紹

    canvas 畫(huà)布在主流瀏覽器中的尺寸限制詳細(xì)介紹

    這篇文章主要介紹了canvas 畫(huà)布在主流瀏覽器中的尺寸限制詳細(xì)介紹的相關(guān)資料,canvas在不同瀏覽器下面有不同的最大尺寸限制,這里測(cè)試下,需要的朋友可以參考下
    2016-12-12
  • JavaScript中for of和for in的區(qū)別詳解

    JavaScript中for of和for in的區(qū)別詳解

    對(duì)于初學(xué)者,我們或許只知道無(wú)論是for of還是for in他們都有一個(gè)功能那就是遍歷,至于具體的細(xì)節(jié)或許我們不是很清楚,那么接下來(lái)我們就來(lái)詳細(xì)的區(qū)分一下for of和for in他們之間的不同點(diǎn)和相同點(diǎn),需要的朋友可以參考下
    2023-06-06
  • asp.net+js 實(shí)現(xiàn)無(wú)刷新上傳解析csv文件的代碼

    asp.net+js 實(shí)現(xiàn)無(wú)刷新上傳解析csv文件的代碼

    無(wú)刷新上傳解析csv文件的實(shí)現(xiàn)代碼,需要的朋友可以參考下。
    2010-05-05
  • Js,alert出現(xiàn)亂碼問(wèn)題的解決方法

    Js,alert出現(xiàn)亂碼問(wèn)題的解決方法

    Js,alert出現(xiàn)亂碼問(wèn)題的解決方法,需要的朋友可以參考一下
    2013-06-06
  • 一些常見(jiàn)的TypeScript面試題匯總

    一些常見(jiàn)的TypeScript面試題匯總

    TS是強(qiáng)類(lèi)型的JS超集,支持ES6語(yǔ)法,支持面向?qū)ο缶幊痰母拍?如類(lèi)、接口、繼承、泛型等,下面這篇文章主要給大家介紹了關(guān)于一些常見(jiàn)的TypeScript面試題的相關(guān)資料,需要的朋友可以參考下
    2024-09-09
  • 微信JSAPI Ticket接口簽名詳解

    微信JSAPI Ticket接口簽名詳解

    這篇文章主要為大家詳細(xì)介紹了微信JSAPI Ticket接口簽名,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • bootstrap jquery dataTable 異步ajax刷新表格數(shù)據(jù)的實(shí)現(xiàn)方法

    bootstrap jquery dataTable 異步ajax刷新表格數(shù)據(jù)的實(shí)現(xiàn)方法

    這篇文章主要介紹了bootstrap jquery dataTable 異步ajax刷新表格數(shù)據(jù)的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2017-02-02
  • 最新評(píng)論

    孙吴县| 枣强县| 华容县| 枝江市| 海晏县| 大兴区| 台中县| 永胜县| 阳山县| 永定县| 奈曼旗| 高雄县| 谷城县| 墨竹工卡县| 扶沟县| 沈阳市| 图木舒克市| 灵山县| 武夷山市| 卓尼县| 綦江县| 加查县| 鄱阳县| 乌拉特前旗| 离岛区| 全椒县| 芒康县| 界首市| 沂水县| 屏边| 安乡县| 武胜县| 突泉县| 临高县| 彭水| 莱西市| 亚东县| 阳朔县| 萝北县| 吉首市| 永寿县|