最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

js運(yùn)算符優(yōu)先級(jí)的比較及js邏輯運(yùn)算符的解析

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 19:32:38
文檔

js運(yùn)算符優(yōu)先級(jí)的比較及js邏輯運(yùn)算符的解析

js運(yùn)算符優(yōu)先級(jí)的比較及js邏輯運(yùn)算符的解析:本文對(duì)不同分類的運(yùn)算符進(jìn)行了詳解,然后描述了js運(yùn)算符的優(yōu)先級(jí),優(yōu)先級(jí)指的是運(yùn)算符具有計(jì)算的優(yōu)先級(jí)別,下文會(huì)有詳細(xì)的介紹。怎么比較js中的運(yùn)算符?JavaScript語言中的比較運(yùn)算符 主要用于比較兩個(gè)操作數(shù)的值是否相等 或者大小情況。文章具有參考價(jià)值,需
推薦度:
導(dǎo)讀js運(yùn)算符優(yōu)先級(jí)的比較及js邏輯運(yùn)算符的解析:本文對(duì)不同分類的運(yùn)算符進(jìn)行了詳解,然后描述了js運(yùn)算符的優(yōu)先級(jí),優(yōu)先級(jí)指的是運(yùn)算符具有計(jì)算的優(yōu)先級(jí)別,下文會(huì)有詳細(xì)的介紹。怎么比較js中的運(yùn)算符?JavaScript語言中的比較運(yùn)算符 主要用于比較兩個(gè)操作數(shù)的值是否相等 或者大小情況。文章具有參考價(jià)值,需

本文對(duì)不同分類的運(yùn)算符進(jìn)行了詳解,然后描述了js運(yùn)算符的優(yōu)先級(jí),優(yōu)先級(jí)指的是運(yùn)算符具有計(jì)算的優(yōu)先級(jí)別,下文會(huì)有詳細(xì)的介紹。

怎么比較js中的運(yùn)算符?JavaScript語言中的比較運(yùn)算符 主要用于比較兩個(gè)操作數(shù)的值是否相等 或者大小情況。文章具有參考價(jià)值,需要的可以收藏。

運(yùn)算符概述

JavaScript提供了一組用于操作數(shù)據(jù)值的運(yùn)算符 又稱為操作符
運(yùn)算符可以按照作用的不同 或者操作變量數(shù)量的不同進(jìn)行分類

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

  • 1.如果運(yùn)算數(shù)中的一個(gè)或兩個(gè)是字符串類型 JavaScript會(huì)自動(dòng)轉(zhuǎn)換為數(shù)字值 在進(jìn)行計(jì)算
    2.如果運(yùn)算數(shù)中的一個(gè)換兩個(gè)是字符串類型 但其中的字符不是數(shù)字 JavaScript會(huì)自動(dòng)轉(zhuǎn)換數(shù)字值的到NaN結(jié)果
    3.任何一個(gè)運(yùn)算數(shù)都是NaN 結(jié)果都是NaN
    4.布爾值false和true會(huì)轉(zhuǎn)轉(zhuǎn)為0和1進(jìn)行計(jì)算

  • 加法運(yùn)算符

  • 1.如果兩個(gè)操作數(shù)都是數(shù)字值的話 會(huì)進(jìn)行加法計(jì)算
    2.如果字符串進(jìn)行加法計(jì)算 - 字符串連接運(yùn)算符(拼串)
    3.如果布爾類型進(jìn)行加法計(jì)算 - 將布爾類型轉(zhuǎn)換為數(shù)字值 再進(jìn)行加法計(jì)算

  • 減法運(yùn)算符

  • 1.減法運(yùn)算之前 先將其他類型轉(zhuǎn)換為number類型 再進(jìn)行計(jì)算
    2.如果字符串進(jìn)行減法計(jì)算的話 - 將字符串類型轉(zhuǎn)換為數(shù)字值 再進(jìn)行減法計(jì)算
    3.如果布爾類型進(jìn)行減法計(jì)算 - 將布爾類型轉(zhuǎn)換為數(shù)字值,再進(jìn)行減法計(jì)算

  • 求余運(yùn)算符

  • 求余運(yùn)算符 用于計(jì)算兩個(gè)運(yùn)算數(shù)整除后的余數(shù)
    求的結(jié)果是正數(shù)還是負(fù)數(shù) 與第一個(gè)操作數(shù)是正數(shù)或負(fù)數(shù)有關(guān)(與第二個(gè)無關(guān))

     console.log(100 % 3);//1
     console.log(8 % 4);//0
    
     console.log(100 % -3);//1
     console.log(8 % 4);//0
    
     console.log(-100 % 3);//-1
     console.log(-8 % 4);//0
    
     console.log(-100 % -3);//-1
     //與減法的情況保持一致
     console.log('臥龍學(xué)苑' % 2);//NaN
  • 自增運(yùn)算符與自減運(yùn)算符

  • 自增運(yùn)算符 用于整數(shù)值逐次+1 分為:
    a.前置型:自增運(yùn)算符位于運(yùn)算數(shù)之前 先加1 再賦值

    前置自增運(yùn)算符 - ++變量名

    b.后置型:自增運(yùn)算符位于運(yùn)算數(shù)之后 先賦值 再加1

    后置自增運(yùn)算符 - 變量名++

    自減運(yùn)算符 用于整數(shù)值逐次-1 分為:
    a.前置型:自減運(yùn)算符位于運(yùn)算數(shù)之前 先減1 再賦值
    b.后置型:自減運(yùn)算符位于運(yùn)算數(shù)之前 先賦值 再減1

  • 運(yùn)算符的優(yōu)先級(jí)別
    運(yùn)算符具有計(jì)算的優(yōu)先級(jí)別
    1.先計(jì)算優(yōu)先級(jí)別高的運(yùn)算符
    2.運(yùn)算符的級(jí)別相同,從左至右的計(jì)算
    3.運(yùn)算符中優(yōu)先級(jí)別最高的是“()”
    4.優(yōu)先計(jì)算的表達(dá)式利用"()"將其包裹起來

  •  console.log(100 + 200 - 150 * 3);// -150
     console.log(100 + 200 % 3);// 102
     console.log(2 * 200 % 3);// 1
    
     var num = 10;
     console.log(5 + ++num);// 16
  • 比較運(yùn)算符

  • JavaScript語言中的比較運(yùn)算符 主要用于比較兩個(gè)操作數(shù)的值是否相等 或者大小情況

    一.大于與小于比較運(yùn)算符
     console.log(10 > 11);//false
     console.log(11 > 10);//true
     console.log(10 >= 10);//true
     // 2.boolean類型 - 將boolean類型轉(zhuǎn)換為number類型
     console.log(true > false);//true
     console.log(true > 0);//true
    /*
     3.string類型 - a.英文; b.中文
     * 英文或中文 - 將文本轉(zhuǎn)換成Unicode碼 - 對(duì)應(yīng)具有數(shù)字值
     * 英文單詞 - 從左至右的一次比較字母 Unicode 碼的大小
    */
     console.log('a' < 'b');//true
     console.log('a' > 'A');//true
     console.log('abc' > 'cba');//false
     console.log('abc' > 'acd');//false
    
     console.log('我' > '你');//true
    二.相等與不等比較運(yùn)算符

    相等比較運(yùn)算符
    *與賦值運(yùn)算符的區(qū)別
    *賦值運(yùn)算符(=)
    *相等比較運(yùn)算符(==)
    不等比較運(yùn)算符
    *符號(hào)是"!="
    *不是"<>"
    相等與不等比較運(yùn)算符 只比較操作數(shù)的值 并不比較類型

     // 1.number類型
     console.log(10 == 10);// true
     console.log(10 == 11);// false
     // 2.boolean類型
     console.log(true == true);// true
     console.log(true == false);// false
    
     console.log(true == 1);// true
    
     // 3.string類型
     console.log('a' == 'a');// true
     console.log('a' == 'b');// false
     
     console.log('100' == 100);// true
    三.全等與不全等運(yùn)算符 
    全等與不全等運(yùn)算符 不僅比較值 還比較類型
     console.log(10 === 10);// true
    
     console.log('10' === 10);// false
     console.log('10' == 10);// true
  • 函數(shù)

  • isNaN()函數(shù)用于判斷其參數(shù)是否為NaN值(非數(shù)字值)
    作用:判斷當(dāng)前值是否為 NaN
    true - 表示當(dāng)前值是NaN(不是一個(gè)數(shù)字值)
    false - 表示當(dāng)前值不是NaN(不是一個(gè)數(shù)字值)
    isFinite()函數(shù)
    作用 - 判斷當(dāng)前值是否為無窮大
    false - 表示當(dāng)前值是無窮大
    true - 表示當(dāng)前值是有限數(shù)值

     console.log(isNaN(100));// false
     console.log(isNaN(Number('臥龍學(xué)苑')));// true
    
     var result = 100/0;
     console.log(result);// Infinity
     //isFinite()函數(shù)
     console.log(isFinite(result));// false
  • 邏輯與運(yùn)算符

  • JavaScript運(yùn)算符 基本用法是用于布爾類型的計(jì)算
    邏輯與運(yùn)算符時(shí) 如果兩個(gè)操作數(shù)都是布爾類型的話只有當(dāng)兩個(gè)操作數(shù)都為true時(shí) 返回的結(jié)果才為true 否則都為false
    1.將邏輯與運(yùn)算符的兩個(gè)操作數(shù) 轉(zhuǎn)換為布爾類型
    2.當(dāng)左邊的操作數(shù)為true時(shí) 結(jié)果為右邊操作數(shù)的值
    3.當(dāng)左邊的操作數(shù)為false時(shí) 結(jié)果為左邊操作數(shù)的值

     console.log(true && true);// true
     console.log(true && false);// false
     console.log(false && true);// false
     console.log(false && false);// false
    
     console.log(100 && 1);// 1
     console.log(1 && 0);// 0
     console.log(0 && 1);// 0
     console.log(0 && 0);// 0
    
     console.log(true && true);
     console.log(true && false);
     console.log(false && true);
     console.log(false && false);
    
     console.log('臥龍學(xué)苑' && '臥龍學(xué)苑');// 臥龍學(xué)苑
     console.log('臥龍學(xué)苑' && '');// ''
     console.log('' && '臥龍學(xué)苑');// ''
     console.log('' && '');// ''
    
     console.log('臥龍學(xué)苑' && 1);// 1
     console.log(false && 0);// false
  • 邏輯或運(yùn)算符

  • 使用邏輯或運(yùn)算符時(shí) 如果兩個(gè)操作數(shù)都是布爾類型的話 只有當(dāng)其中一個(gè)操作類型數(shù)都為true時(shí) 返回的結(jié)果才為true 否則都為false

     console.log(true || true);// true
     console.log(true || false);// true
     console.log(false || true);// true
     console.log(false || false);// false
    
     console.log(100 || 1);// 100
     console.log(1 || 0);// 1
     console.log(0 || 1);// 1
     console.log(0 || 0);// 0
    
     console.log(true || true);
     console.log(true || false);
     console.log(false || true);
     console.log(false || false);
    
     console.log('臥龍學(xué)苑' || '臥龍學(xué)苑');// 臥龍學(xué)苑
     console.log('臥龍學(xué)苑' || '');// 臥龍學(xué)苑
     console.log('' || '臥龍學(xué)苑');// 臥龍學(xué)苑
     console.log('' || '');// ''
  • 賦值擴(kuò)展運(yùn)算符

  • JavaScript語言中的賦值運(yùn)算符用于為變量或?qū)傩赃M(jìn)行賦值操作
    JavaScript語言中的賦值擴(kuò)展運(yùn)算符實(shí)際就是賦值運(yùn)算符與算數(shù)運(yùn)算符配合使用的簡寫模式
    JavaScript語言中的賦值擴(kuò)展運(yùn)算符的執(zhí)行效率更高

     var b = 10, c = 20;
    
     var a = b + c;
     console.log(a);// 30
    
     // b = b + c;
     // 等價(jià)寫法 - 賦值擴(kuò)展運(yùn)算符的性能要比賦值運(yùn)算符更高
     b += c;
     console.log(b);// 30
  • 條件運(yùn)算符

  • 條件運(yùn)算符 首先判斷一個(gè)表達(dá)式是真是假 然后根據(jù)判斷結(jié)果執(zhí)行兩個(gè)給指定指令中的一個(gè)

     var result = 8 > 9 ? '對(duì)' : '錯(cuò)';
     console.log(result);
    
     var score = 95;
     score > 90 ? console.log('優(yōu)秀') : console.log('及格');
  • 嵌套條件運(yùn)算符

  • 條件運(yùn)算符中 每個(gè)表達(dá)式可以又是一個(gè)條件運(yùn)算表達(dá)式 稱為條件運(yùn)算的嵌套
    優(yōu)點(diǎn):擴(kuò)展了條件運(yùn)算符本身的計(jì)算能力
    缺點(diǎn):可讀性比較差 性能隨著嵌套的層級(jí)越多越差
    建議:不要最多不要超過三層嵌套

     var score = 55;
    
     var result = score > 90 ? '優(yōu)秀' : (score > 80 ? '良好' : (score > 60 ? '及格' : '不及格'));
     console.log(result);

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    js運(yùn)算符優(yōu)先級(jí)的比較及js邏輯運(yùn)算符的解析

    js運(yùn)算符優(yōu)先級(jí)的比較及js邏輯運(yùn)算符的解析:本文對(duì)不同分類的運(yùn)算符進(jìn)行了詳解,然后描述了js運(yùn)算符的優(yōu)先級(jí),優(yōu)先級(jí)指的是運(yùn)算符具有計(jì)算的優(yōu)先級(jí)別,下文會(huì)有詳細(xì)的介紹。怎么比較js中的運(yùn)算符?JavaScript語言中的比較運(yùn)算符 主要用于比較兩個(gè)操作數(shù)的值是否相等 或者大小情況。文章具有參考價(jià)值,需
    推薦度:
    標(biāo)簽: js 解析 優(yōu)先級(jí)
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top