在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    前端入門-JavaScript 操作符

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

    一元操作符

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

    遞增、遞減操作符是直接借鑒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

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

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

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

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

    但是后置的最終結(jié)果卻是25,因為age– 使用了遞減前的值繼續(xù)和后面進行+5運算。

    如果使用一個加號或減號時,加號代表正值、減號代表負值。

    加減乘除操作符

    操作多個數(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ù)字類型,會先進性強制轉(zhuǎn)換再進行計算,這樣結(jié)果會不確定。

    位操作符

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

    按位非(NOT)

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

    操作符

    數(shù)值

    結(jié)果

    ~

    1

    0

    ~

    0

    1

    如下示例:

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

    按位與(AND)

    使用(&)符號表示,它有2個操作數(shù),當2個數(shù)對應(yīng)的位都是1時返回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)

    用(|)符號表示,同樣也是2個操作數(shù)。其規(guī)則是只要有一位是1其結(jié)果就是1,負則結(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)

    由(^)符號表示,也是操作2個操作數(shù),其當2個操作數(shù)的位值相同時返回0,負則返回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

    左移

    使用(<<)兩個小于號表示,這個操作符會將數(shù)值每一位向左移動指定位數(shù)。如下示例:

    let a = 2; // 二進制 10let b = b << 5; // 二進制的 1000000,十進制64

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

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

    有符號的右移

    使用(>>)兩個大于號表示,會將每位向右移動指定位數(shù),但保留符號位(即正負號標記)。如下示例:

    let a = 64; // 二進制 1000000let b = b >> 5; // 二進制的 10,十進制的2

    在移位過程,原數(shù)中也會出現(xiàn)空位,只不過這次空位出現(xiàn)在原數(shù)值左側(cè)、符號位右側(cè)。空位使用符號位值填充。

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

    無符號的右移

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

    let a = 64; // 二進制 1000000let b = b >>> 5; // 二進制的 10,十進制的2

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

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

    布爾操作符

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

    邏輯非

    使用(?。└袊@號表示邏輯非,其規(guī)則就是:

    操作符

    邏輯值

    結(jié)果

    true

    false

    !

    false

    true

    邏輯與

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

    let a = ture && false;

    其規(guī)則如下:

    邏輯值1

    操作符

    邏輯值2

    結(jié)果

    ture

    &&

    ture

    ture

    ture

    &&

    false

    false

    false

    &&

    ture

    false

    false

    &&

    false

    false

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

    邏輯或

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

    let a = true || false;

    規(guī)則如下:

    邏輯值1

    操作符

    邏輯值2

    結(jié)果

    ture

    ||

    ture

    ture

    ture

    ||

    false

    ture

    false

    ||

    ture

    ture

    false

    ||

    false

    false

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

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

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

    關(guān)系操作符

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

    如下示例:

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

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

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

    上面中因為B字符編碼是66,a的編碼是97,所以返回true。

    相等、不等操作符

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

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

    如下示例:

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

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

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

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

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

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

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

    賦值操作符

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

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

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

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

    上面的等同于下面:

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

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

    條件操作符

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

    變量 = 布爾表達式 ? true_value : false_value

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

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

    逗號操作符

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

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

    結(jié)論

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

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

    參考資料:

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

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

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

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

    相關(guān)推薦

    • 抖音帶貨怎么做入門(抖音帶貨怎么做入門教學(xué))

      相信很多小伙伴都有注意到,現(xiàn)在抖音已經(jīng)成為大家最常光顧的一個平臺了,作為一個日活破億的流量池,如今抖音上的用戶數(shù)量極大。因此,現(xiàn)在在抖音上帶貨、賣貨的人也是越來越多了,那么想在抖音…

      2022年11月25日
    • 寶可夢朱紫四大天王屬性怎么樣 四大天王屬性數(shù)值介紹

      寶可夢朱紫四大天王屬性如何?四大天王的屬性數(shù)值玩家們還是挺好奇的,想要了解四大天王屬性的可以看看下面小編的介紹,小編會把四大天王的屬性數(shù)值全都分享在下面,各位趕緊來小編這里多了解一…

      2022年11月25日
    • 什么是推廣cpa一篇文章帶你看懂CPA推廣渠道

      CPA渠道 CPA指的是按照指定的行為結(jié)算,可以是搜索,可以是注冊,可以是激活,可以是搜索下載激活,可以是綁卡,實名認證,可以是付費,可以是瀏覽等等。甲乙雙方可以根據(jù)自己的情況來定…

      2022年11月25日
    • 抖音直播帶貨有哪些方法技巧(抖音直播帶貨有哪些痛點)

      如今抖音這個短視頻的變現(xiàn)能力越來越突顯了,尤其是在平臺上開通直播,更具有超強的帶貨屬性,已經(jīng)有越來越多的普通人加入到其中了。不過直播帶貨雖然很火,但是也不是每個人都能做好的,那么在…

      2022年11月24日
    • 淘寶直播開通后帶貨鏈接怎么做(淘寶直播需要開通淘寶店鋪嗎)

      直播帶貨無論是對于商家來說還是主播收益都是非??捎^的,所以不少平臺都有直播帶貨功能,一些小伙伴也想加入淘寶直播,那么淘寶直播開通后帶貨鏈接怎么做?下面小編為大家?guī)硖詫氈辈ラ_通后帶…

      2022年11月24日
    • 明查|美國新冠后遺癥患者中有16%癥狀嚴重以致無法工作?

      點擊進入澎湃新聞全球事實核查平臺 速覽 – 網(wǎng)傳數(shù)據(jù)比例無權(quán)威信源佐證,該比例有可能是結(jié)合了美國疾病防控中心和布魯金斯學(xué)會的數(shù)據(jù)得出,但這兩個機構(gòu)的調(diào)研目的和樣本都不同…

      2022年11月24日
    • 交錯核心芯片裝備槽在哪?交錯核心芯片裝備槽布置一覽

      交錯核心芯片裝備槽是很重要的,這些布置在什么地方。不少玩家不清楚該怎么布置才好,在游戲里怎么選擇裝備比較好。想要知道的小伙伴們,就一起來看看吧。 交錯核心芯片裝備槽布置一覽 可以看…

      2022年11月23日
    • 快手限流多久能解除(快手限流什么意思)

      我相信很多人都看中了快手平臺的商機,都爭先恐后地想要搶占機會,可一些人剛剛作出一點成績,就被降權(quán)了,自己也不知道什么原因。所以今天就來聊聊快手賬號降權(quán)操作分享,趕快來看看避免違規(guī)!…

      2022年11月23日
    • Win11 22H2再出新問題Bug:無法彈出USB設(shè)備

      作為Windows 11的首次大更新,在Win11 22H2發(fā)布后并沒有帶來預(yù)想的場景,各種問題頻現(xiàn)成為了一種常態(tài)。 近日有消息稱,Win11 22H2存在一個占用沖突Bug,當用…

      2022年11月22日
    • word方框中打√符號教程 打鉤符號怎么打出來框怎么點擊就打上

      Word怎么在方框中打√符號?最近有用戶詢問這個問題,Word是一款很實用的辦公軟件,在編輯的時候需要輸入方框帶個√的符號,很多用戶不知道怎么輸入,針對這一問題,本篇帶來了詳細的輸…

      2022年11月21日

    聯(lián)系我們

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