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