摘要:運(yùn)算符運(yùn)算符概述提供了一組用于操作數(shù)據(jù)值的運(yùn)算符,又稱為操作符。減法運(yùn)算符注意在進(jìn)行減法運(yùn)算時,如果是數(shù)字類型,運(yùn)算結(jié)果就是數(shù)字類型的值進(jìn)行減法運(yùn)算如果是或者是類型,就將類型轉(zhuǎn)換為類型再進(jìn)行計算。
運(yùn)算符
運(yùn)算符
概述:
JavaScript提供了一組用于操作數(shù)據(jù)值的運(yùn)算符,又稱為操作符。這些運(yùn)算符可以按照作用的不同或者操作變量數(shù)量的不同進(jìn)行分類
分類:
-算數(shù)運(yùn)算符(+ - * / % ++ --) -比較運(yùn)算符(> >= < <= == != === !==) -邏輯運(yùn)算符(&& || !) -賦值運(yùn)算符(= += -= *= /= %=) -字符串連接運(yùn)算符(+) -條件運(yùn)算符(?:) -特殊運(yùn)算符(typeof instanceof delete)
算數(shù)運(yùn)算符
var num = 100; var str1 ="EVA"; var str2 = "200"; var boo = true;
加法運(yùn)算符
console result1 = num +100;/*200*/ console result2 = str1 + 100;/*EVA100*/ console result3 = str2 + 100;/*200100*/ console result4 = boo + 100;/*101*/
注意:在加法運(yùn)算中,如果是數(shù)字類型,運(yùn)算結(jié)果就是數(shù)字類型的值進(jìn)行加法運(yùn)算
如果是string類型,運(yùn)算結(jié)果就是字符串的連接計算(無論string類型中是普 通的文本還是數(shù)字) 如果是布爾類型,就將布爾類型轉(zhuǎn)換為數(shù)字類型,true轉(zhuǎn)換為1,false轉(zhuǎn)化為 0.再進(jìn)行計算。
減法運(yùn)算符
console result5 = num - 100;/*0*/ console result6 = str1 - 100;/*NaN*/ console result7 = str2 - 100;/*100*/ console result8 = boo - 100;/*-99*/
注意:在進(jìn)行減法運(yùn)算時,如果是數(shù)字類型,運(yùn)算結(jié)果就是數(shù)字類型的值進(jìn)行減法運(yùn)算
如果是string或者是boolean類型,就將類型轉(zhuǎn)換為number類型再進(jìn)行計算。
乘法、除法運(yùn)算的規(guī)則與減法運(yùn)算的相同,但是在除法中,如果被除數(shù)為0,那么結(jié)果就為無窮大(Infinity)
求余運(yùn)算符
console .log(100 % 3);/*1*/ console .log(8 % 4);/*0*/ console .log(100 % -3);/*1*/ console .log(-100 % 3);/*-1*/ console .log(-100 % -3);/*-1*/
注意:求余的運(yùn)算結(jié)果的正負(fù)值與第一個操作數(shù)有關(guān)
自增運(yùn)算符
操作當(dāng)前變量的值;每自增一次(+1)
a.
前置自增運(yùn)算符(++變量名)
先自增,再進(jìn)行賦值
var num = 10; console .log(num);/*10*/ var result = ++num; console .log(result);/*11*/ console .log(num);/*11*/
因為前置自增運(yùn)算是先自增,再賦值,num原本的值為10,進(jìn)行一次自增后,值變?yōu)?1,再進(jìn)行賦值給result,所以result的值也為11.
b.
后置自增運(yùn)算符(變量名++)
先賦值,再自增
var num = 10; console .log(num);/*10*/ var result = num++; console .log(result);/*10*/ console .log(num);/*11*/
因為后置自增是先賦值,再自增,num原本的值為10,賦值給result,所以result的值就為10。num再進(jìn)行自增,值變?yōu)?1.
運(yùn)算符的優(yōu)先級別
a.優(yōu)先計算優(yōu)先級別高的運(yùn)算符
b.運(yùn)算符級別相同,從左至右進(jìn)行計算
c.運(yùn)算符中優(yōu)先級別最高的是‘()’
比較運(yùn)算符
大于小于比較運(yùn)算符
a.number類型
console .log(10 > 11);/*false*/ console .log(10 > 9);/*true*/ console .log(10>=10);/*true*/
b.boolean類型(將boolean類型轉(zhuǎn)換為number類型)
console .log(true > false);/*true*/ console .log(true > 0);/*true*/
c.string類型(1.英文 2.中文)
*英文或者中文,將文本轉(zhuǎn)換為Unicode碼(對應(yīng)具有數(shù)字值)
*英文單詞,從左至右的順序比較字母的Unicode碼的大小,如果兩個字母的Unicode的碼相同,就比較下一個字母。
相等不等比較運(yùn)算符
相等運(yùn)算符(==) 不等運(yùn)算符(!=)
a.number類型
console .log(10 == 10);/*true*/ console .log(10 == 11);/*false*/
b.boolean類型
console.log(true == true);// true console.log(true == false);// false console.log(true == 1);// true
c.string類型
console.log("a" == "a");// true console.log("a" == "b");// false console.log("100" == 100);// true
注意:相等不等運(yùn)算符在比較時只會比較值而不會比較類型
全等不全等運(yùn)算符
全等運(yùn)算符(===) 不全等運(yùn)算符(!==)
全等不全等運(yùn)算符與相等不等運(yùn)算符的區(qū)別就是全等不全等運(yùn)算符不僅比較值并且比較類型
console .log(10 ===10);/*true*/ console.log("10" === 10);/*false*/
isNaN()函數(shù)與isFinite()函數(shù)
isNaN()函數(shù)
作用 - 判斷當(dāng)前值是否為 NaN
true - 表示當(dāng)前值是 NaN(不是一個數(shù)字值)
false - 表示當(dāng)前值不是 NaN(不是一個數(shù)字值)
console.log(isNaN(100));/*false*/ console.log(isNaN(Number("臥龍學(xué)苑")));/*true*/
isFinite()函數(shù)
作用 - 判斷當(dāng)前值是否為無窮大
false - 表示當(dāng)前值是無窮大 true - 表示當(dāng)前值是有限數(shù)值
var result = 100/0; console.log(result);/*Infinity*/ console .log(isFinite(result));/*false*/
邏輯運(yùn)算符
邏輯與運(yùn)算符(&&)
boolean類型
console.log(true && true);// true console.log(true && false);// false console.log(false && true);// false console.log(false && false);// false
當(dāng)類型為布爾類型時,只有當(dāng)兩個操作數(shù)都為true,結(jié)果才為true,否則都為false
其他類型:需要將其他類型轉(zhuǎn)換為布爾類型再進(jìn)行
console.log(100 && 1);// 1 console.log(1 && 0);// 0 console.log(0 && 1);// 0 console.log(0 && 0);// 0 console.log("臥龍學(xué)苑" && "臥龍學(xué)苑");// 臥龍學(xué)苑 console.log("臥龍學(xué)苑" && "");// "" console.log("" && "臥龍學(xué)苑");// "" console.log("" && "");// ""
當(dāng)左邊的操作數(shù)為true時,結(jié)果為右邊操作數(shù)的值
當(dāng)左邊的操作數(shù)為false時,結(jié)果為左邊操作數(shù)的值
邏輯或運(yùn)算符(||)
boolean類型
如果有一個操作數(shù)為true那么結(jié)果就為true 否則結(jié)果就為false
console.log(true || true);// true console.log(true || false);// true console.log(false || true);// true console.log(false || false);// false
其他類型:需要將其他類型轉(zhuǎn)換為布爾類型再進(jìn)行
console.log(100 || 1);// 100 console.log(1 || 0);// 1 console.log(0 || 1);// 1 console.log(0 || 0);// 0 console.log("臥龍學(xué)苑" || "臥龍學(xué)苑");// 臥龍學(xué)苑 console.log("臥龍學(xué)苑" || "");// 臥龍學(xué)苑 console.log("" || "臥龍學(xué)苑");// 臥龍學(xué)苑 console.log("" || "");// ""
當(dāng)左邊的操作數(shù)為true時,結(jié)果為左邊操作數(shù)的值
當(dāng)左邊的操作數(shù)為false時,結(jié)果為右邊操作數(shù)的值
賦值運(yùn)算符
賦值擴(kuò)展運(yùn)算符
var b = 10, c = 20; var a = b + c; console.log(a);// 30 b += c/*是b=b+c的等價寫法*/ console.log(b);// 30
條件運(yùn)算符
var result = 8 > 9 ? "對" : "錯"; console.log(result);/*錯*/ var score = 95; score > 90 ? console.log("優(yōu)秀") : console.log("及格");/*優(yōu)秀*/
嵌套條件運(yùn)算符
var score = 55; var result = score > 90 ? "優(yōu)秀" : (score > 80 ? "良好" : (score > 60 ? "及格" : "不及格")); console.log(result);/*不及格*/
嵌套條件運(yùn)算符的優(yōu)點:擴(kuò)展了條件運(yùn)算符本身的計算能力
缺點:可讀性比較差 性能隨著嵌套的層級越多越差
建議 - 最多不要超過三層嵌套
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/110158.html
摘要:模板語法四種詞法定義二空白符號空白符號分類或稱是,是縮進(jìn)符,字符串中寫的。注意換行符會影響的兩個重要語法特性自動插入分號和規(guī)則。 筆記說明 重學(xué)前端是程劭非(winter)【前手機(jī)淘寶前端負(fù)責(zé)人】在極客時間開的一個專欄,每天10分鐘,重構(gòu)你的前端知識體系,筆者主要整理學(xué)習(xí)過程的一些要點筆記以及感悟,完整的可以加入winter的專欄學(xué)習(xí)【原文有winter的語音】,如有侵權(quán)請聯(lián)系我,郵箱...
摘要:模板語法四種詞法定義二空白符號空白符號分類或稱是,是縮進(jìn)符,字符串中寫的。注意換行符會影響的兩個重要語法特性自動插入分號和規(guī)則。 筆記說明 重學(xué)前端是程劭非(winter)【前手機(jī)淘寶前端負(fù)責(zé)人】在極客時間開的一個專欄,每天10分鐘,重構(gòu)你的前端知識體系,筆者主要整理學(xué)習(xí)過程的一些要點筆記以及感悟,完整的可以加入winter的專欄學(xué)習(xí)【原文有winter的語音】,如有侵權(quán)請聯(lián)系我,郵箱...
摘要:模板語法四種詞法定義二空白符號空白符號分類或稱是,是縮進(jìn)符,字符串中寫的。注意換行符會影響的兩個重要語法特性自動插入分號和規(guī)則。 筆記說明 重學(xué)前端是程劭非(winter)【前手機(jī)淘寶前端負(fù)責(zé)人】在極客時間開的一個專欄,每天10分鐘,重構(gòu)你的前端知識體系,筆者主要整理學(xué)習(xí)過程的一些要點筆記以及感悟,完整的可以加入winter的專欄學(xué)習(xí)【原文有winter的語音】,如有侵權(quán)請聯(lián)系我,郵箱...
摘要:下溢運(yùn)算結(jié)果無限接近于零,或者比所能表示的最小值還小時,發(fā)生下溢,結(jié)果是返回當(dāng)一個負(fù)數(shù)發(fā)生下溢時,返回負(fù)零。被零整除分母為零,結(jié)果是返回?zé)o窮大或負(fù)無窮大。但是,當(dāng)零整除零,即分子分母都是零時,結(jié)果是返回非數(shù)字。用以判斷數(shù)字是否合法 千位分割符 // 三位數(shù)字用,號隔開 splitByComma (value) { return Number(value).t...
閱讀 1270·2021-10-14 09:50
閱讀 1571·2019-08-30 15:54
閱讀 1032·2019-08-30 11:22
閱讀 2923·2019-08-30 10:50
閱讀 1808·2019-08-29 18:39
閱讀 3057·2019-08-29 13:07
閱讀 2082·2019-08-28 17:54
閱讀 756·2019-08-26 17:44