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