茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    javascript運(yùn)算符語法全面概述
    來源:易賢網(wǎng) 閱讀:1238 次 日期:2016-07-27 15:29:58
    溫馨提示:易賢網(wǎng)小編為您整理了“javascript運(yùn)算符語法全面概述”,方便廣大網(wǎng)友查閱!

    下面小編就為大家?guī)硪黄猨avascript運(yùn)算符語法全面概述。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。

    前面的話

    javascript中的運(yùn)算符大多由標(biāo)點(diǎn)符號(hào)表示,少數(shù)由關(guān)鍵字表示,它們的語法言簡(jiǎn)意賅,它們的數(shù)量卻著實(shí)不少。運(yùn)算符始終都遵循著一些固定語法,只有了解并掌握這些內(nèi)容,才能正確使用運(yùn)算符。本文將主要介紹javascript運(yùn)算符的語法概述

    操作數(shù)個(gè)數(shù)

    javascript的運(yùn)算符總共有46個(gè),如果根據(jù)其操作數(shù)的個(gè)數(shù)進(jìn)行分類,則大多數(shù)是二元運(yùn)算符(binary operator),它們的操作數(shù)都是兩個(gè),它們將兩個(gè)表達(dá)式合并成復(fù)雜表達(dá)式

    1 + 2;

    true || false;

    javascript中的一元運(yùn)算符(unary operator)將一個(gè)表達(dá)式轉(zhuǎn)換為另一個(gè)稍復(fù)雜的表達(dá)式,主要包括以下9個(gè):

    ++ -- - + ~ ! delete typeof void

    a++;

    typeof true;

    javascript只有一個(gè)三元運(yùn)算符(ternary operator),是條件判斷運(yùn)算符?:,它將三個(gè)表達(dá)式合并成一個(gè)表達(dá)式

    2>1 ? 2 : 1;

    優(yōu)先級(jí)  

    運(yùn)算符優(yōu)先級(jí)控制著運(yùn)算符的執(zhí)行順序,優(yōu)先級(jí)高的運(yùn)算符的執(zhí)行總是先于優(yōu)先級(jí)運(yùn)算符低的運(yùn)算符

    46個(gè)運(yùn)算符總共分為14級(jí)的優(yōu)先級(jí),從高到低依次是:

    ++ -- - + ~ ! delete typeof void

     * / %

     + -

     << >> >>>

     < <= > >= instanceof in

     == != === !==

     ^

     |

    ||

    ?:

    = *= /= %= += -= &= ^= |= <<= >>= >>>=

    ,

    由這14級(jí)的運(yùn)算符優(yōu)先級(jí)等級(jí)可以看出:

    一元運(yùn)算符  > 算術(shù)運(yùn)算符 > 比較運(yùn)算符 > 邏輯運(yùn)算符 > 三元運(yùn)算符 > 賦值運(yùn)算符 > 逗號(hào)運(yùn)算符  

    [注意]邏輯取反運(yùn)算符屬于一元運(yùn)算符,其優(yōu)先級(jí)最高

    例子

    !2<1&&4*3+1;

    像上面這種情況就比較復(fù)雜,逐步來分解其運(yùn)算順序

    先計(jì)算一元運(yùn)算符!,!2;//false

    //于是表達(dá)式變?yōu)?/P>

    false < 1 && 4*3 + 1;

    計(jì)算算術(shù)運(yùn)算符4*3+1;//13

    //于是表達(dá)式變?yōu)?/P>

    false < 1 && 13;

    計(jì)算比較運(yùn)算符<,false<1;//true

    //于是表達(dá)式變?yōu)?

    true && 13;//13

    可以使用圓括號(hào)來強(qiáng)行指定運(yùn)算次序

    2+3*5;//17

    (2+3)*5;//25;

    結(jié)合性  

    運(yùn)算符具有兩種結(jié)合性,一種是從左向右結(jié)合,記號(hào)為L(zhǎng),一種是從右向左結(jié)合,記號(hào)為R。結(jié)合性指定了在多個(gè)具有同樣優(yōu)先級(jí)的運(yùn)算符表達(dá)式中的運(yùn)算順序

    多數(shù)運(yùn)算符都具有從左向右的結(jié)合性,只有一元運(yùn)算符、條件運(yùn)算符和賦值運(yùn)算符具有從右向左的結(jié)合性

    w = x + y + z;

    //等價(jià)于:

    w = ((x + y)+ z);

    --------------------------------------

    w = x = y = z;

    //等價(jià)于:

    w = (x = (y = z));

    --------------------------------------

    q = a ? b : c ? d : e ? f : g;

    //等價(jià)于:

    q = a ? b : (c ? d : (e ? f : g));

    運(yùn)算符的優(yōu)先級(jí)和結(jié)合性決定了它們?cè)趶?fù)雜表達(dá)式中的運(yùn)算順序,但子表達(dá)式相互有影響時(shí),順序會(huì)發(fā)生變化

    例子

    a = 1;

    b = a++ + a-- * a++;

    先分析該表達(dá)式中,根據(jù)優(yōu)先級(jí)的順序,分別運(yùn)算遞增運(yùn)算符、乘法運(yùn)算符、加法運(yùn)算符和賦值運(yùn)算符

    先計(jì)算第一個(gè)a++;//結(jié)果為1,a為2

    //表達(dá)式變成

    b = 1 + a-- * a++;

    計(jì)算a--;//結(jié)果為2,a為1

    //表達(dá)式變成

    b = 1 + 2 * a++;

    計(jì)算第二個(gè)a++;//結(jié)果為1,a為2

    //表達(dá)式變成

    b = 1 + 2 * 1;

    所以,最終a = 2; b = 3;

    a = 1;

    b = a++ + a-- * a++;

    console.log(a,b);//2 3

    -----------------------------------

    //類似地

    a = 1;

    b = a-- * a++ + a++;

    console.log(a,b);//2,1

    類型

    一些運(yùn)算符可以作用于任何數(shù)據(jù)類型,但仍然希望它們的操作數(shù)是指定類型的數(shù)據(jù),并且大多數(shù)運(yùn)算符返回一個(gè)特定類型的值,在下面的運(yùn)算符規(guī)則表中,箭頭前為運(yùn)算符操作數(shù)的類型,箭頭后為運(yùn)算結(jié)果的類型

    【左值】

    左值(lvalue)是一個(gè)古老的術(shù)語,指表達(dá)式只能出現(xiàn)在運(yùn)算符的左側(cè)

    在javascript中,變量、對(duì)象屬性和數(shù)組元素都是左值

    遞增運(yùn)算符++、遞減運(yùn)算符--和賦值運(yùn)算符的操作數(shù)類型是左值

    var a = 3;

    a++;//3

    3--;//報(bào)錯(cuò)

    ({}).a += '1';//'undefined1'

    'test' -= 'test';//報(bào)錯(cuò)

    運(yùn)算符規(guī)則表

    運(yùn)算符       操作         類型

    ++        增量         lval->num

    --        減量         lval->num

    -         求反         num->num

    +         轉(zhuǎn)換為數(shù)字      num->num

    ~         按位求反       int->int

    !         邏輯非        bool->bool

    delete      刪除屬性       lval->bool

    typeof      檢測(cè)類型       any->str

    void       返回undefined     any->undef

    ******************************************************

    * \ %       乘、除、求余      num,num->num

    ******************************************************

    + -        加、減        num,num->num

    +         字符串連接       str,str->str

    ******************************************************

    <<        左移位        int,int->int

    >>        有符號(hào)右移位      int,int->int

    >>>        無符號(hào)右移位      int,int->int

    ******************************************************

    < <= > >=     比較數(shù)字順序      num,num->bool

    < <= > >=     比較字母表順序     str,str->bool

    instanceof    測(cè)試對(duì)象類      obj,func->bool

    in        測(cè)試屬性       str,obj->bool

    ******************************************************

    ==        判斷相等       any,any->bool

    !=        判斷不等       any,any->bool

    ===        判斷恒等       any,any->bool

    !==        判斷非恒等      any,any->bool

    ******************************************************

    &         按位與        int,int->int

    ******************************************************

    ^         按位異或       int,int->int

    ******************************************************

    |         按位或        int,int->int

    ******************************************************

    &&        邏輯與        any,any->any

    ******************************************************

    ||        邏輯或        any,any->any

    ******************************************************

    ?:        條件運(yùn)算符       bool,any,any->any

    ******************************************************

    =         賦值         lval,any->any

    *= /= %=

    += -= &=     運(yùn)算且賦值       lval,any->any

    ^= |= <<=

    >>= >>>=

    ******************************************************

    ,         忽略第一個(gè)操作數(shù),    any,any->any

             返回第二個(gè)操作數(shù)

    以上這篇javascript運(yùn)算符語法全面概述就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:javascript運(yùn)算符語法全面概述
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)