03-JavaScript運(yùn)算符

JavaScript運(yùn)算符

  • 和數(shù)學(xué)的運(yùn)算符一樣,JavaScript中的運(yùn)算符是告訴程序執(zhí)行特定算術(shù)或邏輯操作的符號(hào)
  • 表達(dá)式:利用運(yùn)算符鏈接在一起的有意義,有結(jié)果的語句

運(yùn)算符分類

  • 按功能分類
    • 算數(shù)運(yùn)算符
    • 位運(yùn)算符
    • 關(guān)系運(yùn)算符
    • 邏輯運(yùn)算符
  • 根據(jù)參與運(yùn)算的操作數(shù)的個(gè)數(shù)分類
    • 單目運(yùn)算
    • 雙目運(yùn)算
    • 三目運(yùn)算

算數(shù)運(yùn)算符

  • + - * / %

  • 算數(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性

    • * / % 優(yōu)先級(jí)高于+ -
    • 無論是+ - * / %都是左結(jié)合性(從左至右計(jì)算)
  • 算數(shù)運(yùn)算符注意點(diǎn)

    • 加法
      • 任何非數(shù)值類型的數(shù)據(jù)在參與加法運(yùn)算之前,都會(huì)被自動(dòng)的轉(zhuǎn)換成數(shù)值類型之后,再參與運(yùn)算
      • 任何數(shù)據(jù)和NaN進(jìn)行運(yùn)算,結(jié)果都是NaN
      • 任何數(shù)據(jù)和字符串相加,都會(huì)先被轉(zhuǎn)換成字符串之后再運(yùn)算
    • 減法
      • 前兩點(diǎn)與加法相同(非數(shù)值和NaN)
      • 任何數(shù)據(jù)和字符串相減,都會(huì)先把字符串轉(zhuǎn)換成數(shù)值類型之后再運(yùn)算
    • 乘法和除法與減法一模一樣
    • 取模(取余)
      • 格式:m%n = 余數(shù)
      • 如果m>n,那么正常取余
      • 如果m<n,那么結(jié)果是m
      • 如果n是0,那么結(jié)果是NaN
      • 取余運(yùn)算結(jié)果的正負(fù)形取決于m

賦值運(yùn)算符和自增自減

  • 賦值運(yùn)算符= += -= *= /= %=

    • 其中復(fù)雜的賦值運(yùn)算符是將等號(hào)左邊存儲(chǔ)的值取出來和右邊進(jìn)行指定的運(yùn)算,運(yùn)算完畢之后再將運(yùn)算的結(jié)果存儲(chǔ)到左邊

    • 賦值運(yùn)算符的優(yōu)先級(jí)和結(jié)合性

      • 賦值運(yùn)算符的優(yōu)先級(jí)低于算數(shù)運(yùn)算符
      • 賦值運(yùn)算符的結(jié)合性是右結(jié)合性(從右至左的計(jì)算)
      • 賦值運(yùn)算符的左邊只能放變量,不能放常量
  • 自增自減運(yùn)算符++ --

    • 可以快速的對(duì)一個(gè)變量中保存的數(shù)據(jù)進(jìn)行+1或者-1操作

    • 寫在變量后面,表示變量先參與其他的運(yùn)算,然后再自增或者自減

    • 寫在變量前面,表示變量先自增或者自減,然后再參與其他的運(yùn)算

    • 自增自減注意點(diǎn)

      • 只能出現(xiàn)在變量的前面或者后面,不能出現(xiàn)在常量或者表達(dá)式的前面或者后面
      • 在企業(yè)開發(fā)中自增自減運(yùn)算符最好單獨(dú)出現(xiàn),不要出現(xiàn)在表達(dá)式中

關(guān)系運(yùn)算符

  • > < >= <= == != === !==

  • 關(guān)系運(yùn)算符的返回值只有true和false

  • 關(guān)系運(yùn)算符注意點(diǎn)

    • 對(duì)于非數(shù)值類型的數(shù)據(jù),會(huì)先轉(zhuǎn)換成數(shù)值類型,再進(jìn)行判斷

    • 任何數(shù)據(jù)和NaN進(jìn)行比較,返回值都是false

    • 如果參與比較的都是字符串類型,那么不會(huì)轉(zhuǎn)換成數(shù)值類型再比較,而是直接比較字符對(duì)應(yīng)的unicode編碼,如果字符串中有多個(gè)字符,那么會(huì)從左至右依次比較,直到條件不滿足為止

      Unicode編碼轉(zhuǎn)換器

    • 企業(yè)開發(fā)中,如果想判斷一個(gè)數(shù)據(jù)是否是NaN那么可以通過isNaN來進(jìn)行判斷

    • ==和!=只會(huì)判斷取值,===和!==不僅會(huì)判斷取值還會(huì)判斷數(shù)據(jù)類型

  • 關(guān)系運(yùn)算符的結(jié)合性和優(yōu)先級(jí)

    • 關(guān)系運(yùn)算符都是左結(jié)合性(從左至右的運(yùn)算),所以不能用來判斷區(qū)間
    • 關(guān)系運(yùn)算符中> < >= <=的優(yōu)先級(jí)高于== != === !==

邏輯運(yùn)算符

  • 邏輯與 &&
    • 格式: 條件表達(dá)式A && 條件表達(dá)式B
    • 返回值:true false
    • 特定:一假則假
  • 邏輯或 ||
    • 格式: 條件表達(dá)式A || 條件表達(dá)式B
    • 返回值:true false
    • 特點(diǎn):一真則真
  • 邏輯非 !
    • 格式: !條件表達(dá)式
    • 返回值:true false
    • 特點(diǎn):真變假,假變真
  • 邏輯運(yùn)算符的優(yōu)先級(jí)和結(jié)合性
    • 邏輯運(yùn)算符是左結(jié)合性(從左至右的運(yùn)算)
    • 在邏輯運(yùn)算中&&的優(yōu)先級(jí)高于||
  • 邏輯運(yùn)算符的注意點(diǎn)
    • 在邏輯運(yùn)算中如果不是布爾類型,那么會(huì)先轉(zhuǎn)換成布爾類型,再參與其他的運(yùn)算
    • 在邏輯與運(yùn)算中,如果參與運(yùn)算的不是布爾類型,返回值有一個(gè)特點(diǎn)
      • 條件A && 條件B
      • 如果條件不A成立,那么就返回條件A
      • 如果條件A成立,無論條件B是否成立,都會(huì)返回條件B
      • 短路現(xiàn)象:由于邏輯與運(yùn)算的規(guī)則是一假則假,所以只要條件A是假,那么條件B就不會(huì)運(yùn)算
    • 在邏輯或運(yùn)算中,如果參與運(yùn)算的不是布爾類型,返回值有一個(gè)特點(diǎn)
      • 如果條件A成立,那么久返回條件A
      • 如果條件A不成立,無論條件B是否成立,都會(huì)返回條件B
      • 段路現(xiàn)象:由于邏輯或運(yùn)算的規(guī)則是一真則真,所以只要條件A是真,條件B就不會(huì)運(yùn)算

逗號(hào)運(yùn)算符

  • 在JavaScript中逗號(hào)運(yùn)算符一般用于簡化代碼
  • 逗號(hào)運(yùn)算符優(yōu)先級(jí)和結(jié)合性
    • 逗號(hào)運(yùn)算符的結(jié)合性是左結(jié)合性(從左至右的運(yùn)算)
    • 逗號(hào)運(yùn)算符的優(yōu)先級(jí)是所有運(yùn)算符中最低的
  • 逗號(hào)運(yùn)算符的運(yùn)算結(jié)果就是最后一個(gè)表達(dá)式的結(jié)果

三目運(yùn)算符

  • 三目運(yùn)算符又稱之為條件運(yùn)算符
  • 格式: 條件表達(dá)式 ? 結(jié)果A : 結(jié)果B;
  • 在三目運(yùn)算符中,當(dāng)條件為真的時(shí)候,就會(huì)返回結(jié)果A
  • 在三目運(yùn)算符中,當(dāng)條件為假的時(shí)候,就會(huì)返回結(jié)果B
  • 在三目運(yùn)算符中? :不能單獨(dú)出現(xiàn),要么一起出現(xiàn),要么一起不出現(xiàn)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末丰泊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子轴脐,更是在濱河造成了極大的恐慌淮腾,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件飞盆,死亡現(xiàn)場離奇詭異晋南,居然都是意外死亡嵌削,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門偿警,熙熙樓的掌柜王于貴愁眉苦臉地迎上來躏救,“玉大人,你說我怎么就攤上這事螟蒸『惺梗” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵七嫌,是天一觀的道長少办。 經(jīng)常有香客問我,道長诵原,這世上最難降的妖魔是什么英妓? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮绍赛,結(jié)果婚禮上蔓纠,老公的妹妹穿的比我還像新娘。我一直安慰自己吗蚌,他們只是感情好腿倚,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蚯妇,像睡著了一般敷燎。 火紅的嫁衣襯著肌膚如雪暂筝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天硬贯,我揣著相機(jī)與錄音乖杠,去河邊找鬼。 笑死澄成,一個(gè)胖子當(dāng)著我的面吹牛胧洒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播墨状,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼卫漫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了肾砂?” 一聲冷哼從身側(cè)響起列赎,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎镐确,沒想到半個(gè)月后包吝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡源葫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年诗越,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片息堂。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嚷狞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出荣堰,到底是詐尸還是另有隱情床未,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布振坚,位于F島的核電站薇搁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏渡八。R本人自食惡果不足惜啃洋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望呀狼。 院中可真熱鬧裂允,春花似錦、人聲如沸哥艇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至十饥,卻和暖如春窟勃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逗堵。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來泰國打工秉氧, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蜒秤。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓汁咏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親作媚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子攘滩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 表達(dá)式 表達(dá)式是由數(shù)字、運(yùn)算符纸泡、數(shù)字分組符號(hào)(如括號(hào))漂问、自由變量和約束變量等以能求得數(shù)值的有意義排列方法所得的組合...
    劼哥stone閱讀 562評(píng)論 0 4
  • 表達(dá)式和運(yùn)算符 程序中最簡單的表達(dá)式就是,程序中的常量 變量名也是一種簡單的表達(dá)式 復(fù)雜的表達(dá)式是由簡單的表達(dá)式組...
    zhaolion閱讀 1,634評(píng)論 3 12
  • 運(yùn)算符是處理數(shù)據(jù)的基本方法女揭,用來從現(xiàn)有的值得到新的值蚤假。JavaScript 提供了多種運(yùn)算符,本章逐一介紹這些運(yùn)算...
    徵羽kid閱讀 680評(píng)論 0 0
  • 乍雨初晴吧兔,天氣剛好磷仰,不冷不熱。連著幾個(gè)周末帶著你去浪掩驱,生怕一個(gè)下雨天便把你困在鋼筋水泥房里芒划。 格式...
    幽篁小妖閱讀 643評(píng)論 0 0
  • 山大對(duì)面一個(gè)學(xué)校 叫XX專升本學(xué)校 這會(huì)兒 還留在山大上自習(xí)的 很多這個(gè)學(xué)校的了。這件事讓我覺得挺有意思的欧穴。本來打...
    Hushering閱讀 243評(píng)論 0 0