免费爱碰视频在线观看,九九精品国产屋,欧美亚洲尤物久久精品,1024在线观看视频亚洲

      前端入門-JavaScript 操作符

      所謂操作符,就是用來操作數(shù)據(jù)值的符號(hào),在JavaScript中包括算術(shù)操作符、位操作符、關(guān)系操作符和相等操作符。這些操作符可以操作所有類型的數(shù)據(jù),比如字符串、數(shù)字、布爾值,甚至對(duì)象。

      一元操作符

      所謂一元操作符就是只能對(duì)一個(gè)數(shù)據(jù)值進(jìn)行操作,比如(遞增、遞減)操作符。

      遞增、遞減操作符是直接借鑒C語言的,它分前置型和后置型。前置就是操作符在要操作的變量之前,后置在變量之后。

      如下示例

      // 前置型let age = 20;++age; // 遞增console.log(age); // 結(jié)果輸出21–age;//遞減console.log(age); // 結(jié)果輸出20

      如上面例子,age通過++操作符遞增變成21,又通過–操作符遞減變成20;上面的操作等同下面的操作:

      // 后置型let age = 20;age = age + 1; // 加1age = age -1; // 減1

      同理使用后置操作符會(huì)得到上面同樣的結(jié)果,但是前置和后置有區(qū)別。前置操作符在語句被求值以前改變,后置是在語句被求值后改變。通過下面的例子看下其區(qū)別:

      // 前置let age = 20;let anotherAge = –age + 5;alert(age); // 輸出19alert(anotherAge); // 輸出24

      由于前置操作符的優(yōu)先級(jí)和執(zhí)行語句相等,因此會(huì)從左到右依次求值。上面的–age 會(huì)先進(jìn)行遞減操作,再繼續(xù)后面的 + 5 運(yùn)算,所以結(jié)果是24。

      // 后置時(shí)let age = 20;let anotherAge = age– + 5;alert(age); // 輸出19alert(anotherAge); // 輸出25

      但是后置的最終結(jié)果卻是25,因?yàn)閍ge– 使用了遞減前的值繼續(xù)和后面進(jìn)行+5運(yùn)算。

      如果使用一個(gè)加號(hào)或減號(hào)時(shí),加號(hào)代表正值、減號(hào)代表負(fù)值。

      加減乘除操作符

      操作多個(gè)數(shù)據(jù)值,比如加減乘除等:

      let a = 1,b=2;let c = a + b; // 加let d = c – a; // 減let e = d * b; // 乘let f = e/d; // 除

      注意加減乘除主要用來操作數(shù)字類型的數(shù)據(jù),如果操作數(shù)不是數(shù)字類型,會(huì)先進(jìn)性強(qiáng)制轉(zhuǎn)換再進(jìn)行計(jì)算,這樣結(jié)果會(huì)不確定。

      位操作符

      位操作符,是指按內(nèi)存中的表示的數(shù)值位來操作數(shù)值,通俗講就是用來操作二進(jìn)制的數(shù)據(jù)。二進(jìn)制數(shù)據(jù)都是由0、1組成的,在JavaScript中所有數(shù)值都是64位的格式存儲(chǔ),但位操作符不直接在64位的值上進(jìn)行計(jì)算,會(huì)先轉(zhuǎn)化成32位后再運(yùn)算。位操作符有以下幾種:

      按位非(NOT)

      按位非操作符是(~)符號(hào),就是將二進(jìn)制中每位數(shù)值進(jìn)行反碼操作。其規(guī)則如下:

      操作符

      數(shù)值

      結(jié)果

      ~

      1

      0

      ~

      0

      1

      如下示例:

      let a = 25;let b = ~a;alert(b); // 輸出-26

      按位與(AND)

      使用(&)符號(hào)表示,它有2個(gè)操作數(shù),當(dāng)2個(gè)數(shù)對(duì)應(yīng)的位都是1時(shí)返回1,任何一位是0則返回0。如下規(guī)則:

      數(shù)值1

      操作符

      數(shù)值2

      結(jié)果

      1

      &

      1

      1

      1

      &

      0

      0

      0

      &

      1

      0

      0

      &

      0

      0

      示例:

      let a = 25 & 3;alert(a); // 輸出結(jié)果是1

      按位或(OR)

      用(|)符號(hào)表示,同樣也是2個(gè)操作數(shù)。其規(guī)則是只要有一位是1其結(jié)果就是1,負(fù)則結(jié)果是0;

      數(shù)值1

      操作符

      數(shù)值2

      結(jié)果

      1

      |

      1

      1

      1

      |

      0

      1

      0

      |

      1

      1

      0

      |

      0

      0

      示例:

      let a = 25 | 3;alert(a); // 輸出結(jié)果是27

      按位異或(XOR)

      由(^)符號(hào)表示,也是操作2個(gè)操作數(shù),其當(dāng)2個(gè)操作數(shù)的位值相同時(shí)返回0,負(fù)則返回1。

      數(shù)值1

      操作符

      數(shù)值2

      結(jié)果

      1

      ^

      1

      0

      1

      ^

      0

      1

      0

      ^

      1

      1

      0

      ^

      0

      0

      示例:

      let a = 25 ^ 3;alert(a); // 輸出結(jié)果是26

      左移

      使用(<<)兩個(gè)小于號(hào)表示,這個(gè)操作符會(huì)將數(shù)值每一位向左移動(dòng)指定位數(shù)。如下示例:

      let a = 2; // 二進(jìn)制 10let b = b << 5; // 二進(jìn)制的 1000000,十進(jìn)制64

      上面,將二進(jìn)制10向左移動(dòng)5位,注意左移會(huì)多出5個(gè)空位,用0來填充,這樣就會(huì)得到一個(gè)完整的32位二進(jìn)制數(shù)據(jù)。

      注意,左移不會(huì)影響符號(hào)位(二進(jìn)制位中第一位表示數(shù)的正負(fù)),如-2 向左移5位結(jié)果是-64。

      有符號(hào)的右移

      使用(>>)兩個(gè)大于號(hào)表示,會(huì)將每位向右移動(dòng)指定位數(shù),但保留符號(hào)位(即正負(fù)號(hào)標(biāo)記)。如下示例:

      let a = 64; // 二進(jìn)制 1000000let b = b >> 5; // 二進(jìn)制的 10,十進(jìn)制的2

      在移位過程,原數(shù)中也會(huì)出現(xiàn)空位,只不過這次空位出現(xiàn)在原數(shù)值左側(cè)、符號(hào)位右側(cè)??瘴皇褂梅?hào)位值填充。

      有符號(hào)的整數(shù),指32位中前31位表示整數(shù)的值,第32位表示數(shù)值的符號(hào),0正數(shù),1負(fù)數(shù)。這個(gè)表示符號(hào)的位就是符號(hào)位。

      無符號(hào)的右移

      使用(>>>)三個(gè)大于號(hào)表示,這個(gè)操作會(huì)將所有32位都向右移動(dòng)。對(duì)于正數(shù)其結(jié)果和有符號(hào)的右移一樣,如下示例:

      let a = 64; // 二進(jìn)制 1000000let b = b >>> 5; // 二進(jìn)制的 10,十進(jìn)制的2

      但是負(fù)數(shù)就不一樣了,無符號(hào)的右移是以0來填充空位,不像有符號(hào)右移使用符號(hào)位填充。所以其結(jié)果相差很大,如下示例:

      let a = -64; // 二進(jìn)制 1111 1111 1111 1111 1111 1111 1100 0000let b = b >>> 5; // 二進(jìn)制 0000 0111 1111 1111 1111 1111 1111 1110 ,十進(jìn)制的134217726

      布爾操作符

      在任何編程語言中,布爾操作符都是非常重要的,它是用來判斷邏輯的關(guān)鍵,布爾操作符一共有三種:非(NOT)、與(AND)、或(OR)。

      邏輯非

      使用(!)感嘆號(hào)表示邏輯非,其規(guī)則就是:

      操作符

      邏輯值

      結(jié)果

      !

      true

      false

      false

      true

      邏輯與

      使用(&&)表示,操作兩個(gè)數(shù),如下示例:

      let a = ture && false;

      其規(guī)則如下:

      邏輯值1

      操作符

      邏輯值2

      結(jié)果

      ture

      &&

      ture

      ture

      ture

      &&

      false

      false

      false

      &&

      ture

      false

      false

      &&

      false

      false

      也就是只有當(dāng)2個(gè)數(shù)值都是true時(shí)其結(jié)果才是true。

      邏輯或

      使用(||)符號(hào)表示,也是有兩個(gè)操作數(shù),其示例:

      let a = true || false;

      規(guī)則如下:

      邏輯值1

      操作符

      邏輯值2

      結(jié)果

      ture

      ||

      ture

      ture

      ture

      ||

      false

      ture

      false

      ||

      ture

      ture

      false

      ||

      false

      false

      也就是2個(gè)操作數(shù)中有一個(gè)true,結(jié)果就是true,負(fù)則是false。

      注意布爾操作符,不僅僅可以操作布爾類型值,對(duì)于其它數(shù)據(jù)類型同樣適用,只不過會(huì)先將其它數(shù)據(jù)類型轉(zhuǎn)換成布爾值,再進(jìn)行布爾運(yùn)算。如下示例:

      let a = !1; // 輸出falselet b = !’string’; // 輸出falselet c = 1 || 0; // 輸出truelet e = 1 && 0;// 輸出falselet d = ”&& 2; // 輸出true

      關(guān)系操作符

      關(guān)系操作符用來比較2個(gè)操作數(shù),有小于()、小于等于(=)。其比較的結(jié)果返回一個(gè)布爾值,true或false。

      如下示例:

      let a = 5 > 3; // truelet b = 5 < 3; // false

      同樣,關(guān)系操作符也可以適用其它類型的數(shù)據(jù),比如字符串比較大小時(shí),會(huì)按照字符的編碼大小比較。如下示例:

      let a = “Brick” < "alphabet"; // true,

      上面中因?yàn)锽字符編碼是66,a的編碼是97,所以返回true。

      相等、不等操作符

      在編程中,確定2個(gè)值是否相等是一個(gè)非常重要的操作。在JavaScript中分相等(==)和全等(===)、不等(!=)和不全等(!==)四種。

      相等(==)和不相等(!=)

      如下示例:

      let a = 1 == 1; // truelet b = 1==0;// falselet c = 1!=1; // falselet d = 1!=0; //true

      注意相等和不相等的操作前會(huì)先對(duì)操作性進(jìn)行強(qiáng)制轉(zhuǎn)換,如下示例:

      let a = true == 1; // 先將true轉(zhuǎn)換成1再比較,結(jié)果是truelet b = false == 1; // 先將false轉(zhuǎn)換成0再比較,結(jié)果是false

      全相等(===)和不全相等(!==)

      全等和不全等不同之處是,它在比較數(shù)據(jù)前,不進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換,是對(duì)原始數(shù)值比較,所以它的結(jié)果更加嚴(yán)格準(zhǔn)確,如下示例:

      let a = 1 === 1; // truelet b = 1=== ‘1’;// falselet c = 1!==1; // falselet d = 1!==’1′; //true

      注意和之前相等和不相等的例子比較,其結(jié)果非常不一樣。

      賦值操作符

      使用(=)表示賦值操作,其作用就是把等號(hào)右側(cè)的值賦值給左邊的變量或?qū)傩?,如下示例?/p>

      let a = 10; // 給a變量賦值10

      如果在等號(hào)前面加上其它操作符,就組成了復(fù)合型賦值操作,如下示例:

      let a = 10;a += 5; // 結(jié)果是 15

      上面的等同于下面:

      let a = 10;a = a + 5; // 結(jié)果是 15

      當(dāng)然也可以使用其它操作符,如(*=)、(/=)、(%=)、(-=)、(<<=)等等。

      條件操作符

      也稱三目運(yùn)算符,它是一種簡便的條件運(yùn)算,可以把它看成是if else的簡化,其語法如下:

      變量 = 布爾表達(dá)式 ? true_value : false_value

      先求出問號(hào)前面的布爾表示結(jié)果,如果是true,變量使用冒號(hào)前面的值,負(fù)則使用冒號(hào)后面的值。如下示例:

      let a = 5 > 3 ? ‘好’ : ‘不好’; // 結(jié)果是 ‘好’

      逗號(hào)操作符

      使用(,)符號(hào),表示可以執(zhí)行多個(gè)操作,常用于變量定義或函數(shù)參數(shù),如下示例:

      var a = 0,b=1,c=2; // a、b、c使用逗號(hào)隔開let a,b,c;// 函數(shù)中的參數(shù)a、b、c使用逗號(hào)隔開function test(a,b,c){// 函數(shù)主體}// 調(diào)用函數(shù)test(1,2,3)

      結(jié)論

      本節(jié)主要講述了JavaScript中所有的操作符概念,這些都是最基本的知識(shí),需要完全掌握。在平常工作中其中除了位操作符不常用外,其它操作符使用頻率很高,尤其是布爾操作符,算術(shù)操作符,比較操作符等。

      本篇只是大概講述了操作符的概念和使用方法,還有一些細(xì)節(jié)沒有講到,作為入門課程已經(jīng)足夠了,你可以自己搜索每個(gè)知識(shí)點(diǎn)詳細(xì)內(nèi)容,比如關(guān)于二進(jìn)制數(shù)據(jù)、位操作、數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換等,這里不再詳細(xì)介紹。

      參考資料:

      《JavaScript 高級(jí)程序設(shè)計(jì)》

      https://developer.mozilla.org/zh-CN/docs/Web/JavaScript

      https://www.w3cschool.cn/javascript/js-operators.html

      鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
      (0)
      用戶投稿
      上一篇 2022年7月18日 15:19
      下一篇 2022年7月18日 15:19

      相關(guān)推薦

      • 福彩3D天天能測(cè)中獨(dú)碼,怎么操作下一步中大獎(jiǎng)?

        福彩3D測(cè)中獨(dú)碼,說難就難。難就難在彩令年限少,鉆研少。說不難,看你鉆不鉆。241期試機(jī)號(hào)是750,按照試機(jī)號(hào)在天罡八卦中查找試機(jī)號(hào)750,7和5之間夾6號(hào)。那天有一位網(wǎng)友問我什么…

        2022年7月2日
      • 為什么大家都覺得月薪過萬很普遍呢?

        之前看過一期《十三邀》,嘉賓是馬東。 許知遠(yuǎn)認(rèn)為,當(dāng)今社會(huì)過分“娛樂至死”,變得越來越粗鄙,喪失了過去年代的精致感。 馬東馬上糾正他說,并不是社會(huì)變得粗鄙,而是隨著越來越多的人識(shí)字…

        2022年4月19日
      • 紅米k40s使用兩天感受

        用了兩天紅米。說一下出上手體驗(yàn) 外放不錯(cuò),晴雪版確實(shí)是好看,厚度也是相當(dāng)不錯(cuò)。什么評(píng)測(cè)上說的塑料中框,帶上套感覺都一樣。 屏幕也還好。1080p在這個(gè)大小的屏幕上顯示還是不錯(cuò)的。 …

        2022年6月26日
      • 這才是開發(fā)者神器正確的打開方式

        DevWeekly收集整理每周優(yōu)質(zhì)開發(fā)者內(nèi)容,包括開源項(xiàng)目、工具資源、技術(shù)文章等方面,每周五首發(fā)于DevWeekly(https://github.com/Jackpopc/Dev…

        2022年7月25日
      • 打破數(shù)據(jù)治理與機(jī)器學(xué)習(xí)分治,亞馬遜云科技是怎么做到的?

        記者 | 李京亞 編輯 | 根據(jù)福布斯調(diào)研報(bào)告,企業(yè)成為數(shù)據(jù)驅(qū)動(dòng)型公司后,收入會(huì)增加20%,同時(shí)成本會(huì)減少30%。 2021年是國內(nèi)企業(yè)數(shù)智化意識(shí)全面升級(jí)的一年。根據(jù)中國軟件網(wǎng)及?!?/p>

        2022年6月12日
      • 別著急為阿里“造”的車買單

        出品 | 虎嗅汽車組 作者 | 王笑漁 編輯 | 周到 頭圖 | 視覺中國 2016年云棲大會(huì),馬云與上汽集團(tuán)董事長陳虹坐上了阿里與上汽合作打造的榮威RX5。喜歡開車的阿里巴巴董事…

        2022年6月18日
      • 核心產(chǎn)業(yè)規(guī)模達(dá)1.5萬億元,我國算力發(fā)展水平逐步提升

        原標(biāo)題:核心產(chǎn)業(yè)規(guī)模達(dá)1.5萬億元,我國算力發(fā)展水平逐步提升 工信部近日發(fā)布數(shù)據(jù)顯示,2021年,我國算力核心產(chǎn)業(yè)規(guī)模達(dá)1.5萬億元。截至2022年6月底,我國在用數(shù)據(jù)中心機(jī)架總規(guī)…

        2022年8月15日
      • 喏,你們要的全金屬“農(nóng)家橡樹”來了!入門價(jià)3690元

        卡西歐最火的手表一定是G-SHOCK,而G-SHOCK系列比較火的則有金屬小方塊,農(nóng)家橡樹等。而全金屬的“農(nóng)家橡樹”可謂是眾多愛好者的期待,心在,卡西歐終于推出全金屬的“農(nóng)家橡樹”…

        2022年8月14日
      • 職場(chǎng)中的人,應(yīng)該讀什么書籍提升自己?

        下面每本都是我踩過無數(shù)坑才看到的好書,是可以讓你通過了解問題的本質(zhì),從而提高職場(chǎng)邏輯思維和表達(dá)能力的書籍。 之前有朋友來讓我推薦一些可以提高邏輯思維能力的書籍。 當(dāng)時(shí)我第一個(gè)推薦的…

        2022年6月16日
      • Android開發(fā)一個(gè)簡單實(shí)用的鬧鈴APP

        一個(gè)簡單的鬧鐘 生活中我們會(huì)常常遇到需要鬧鐘提醒;不管是起床還是生活中的事件提醒。 那作為Android開發(fā)如何自己開發(fā)一個(gè)鬧鐘功能呢,是不是覺得很酷呢?接下來我們就實(shí)戰(zhàn)一個(gè)鬧鐘?!?/p>

        2022年6月25日

      聯(lián)系我們

      聯(lián)系郵箱:admin#wlmqw.com
      工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息