摘要:運(yùn)算符運(yùn)算符一共分為六種算數(shù)運(yùn)算符比較運(yùn)算符邏輯運(yùn)算符賦值運(yùn)算符字符串聯(lián)接運(yùn)算符條件運(yùn)算符運(yùn)算符的概念提供的一組用于操作數(shù)據(jù)值的運(yùn)算符操作符。這些運(yùn)算符可以按照作用的不同或者操作變量數(shù)量的不同進(jìn)行分類。
運(yùn)算符
——運(yùn)算符一共分為六種;
1.算數(shù)運(yùn)算符
2.比較運(yùn)算符
3.邏輯運(yùn)算符
4.賦值運(yùn)算符
5.字符串聯(lián)接運(yùn)算符
6.條件運(yùn)算符
——運(yùn)算符的概念;
JavaScript提供的一組用于操作數(shù)據(jù)值的運(yùn)算符(操作符)。這些運(yùn)算符可以按照作用的不同或者操作變量數(shù)量的不同進(jìn)行分類。
——運(yùn)算符的優(yōu)先級(jí)別;
JavaScript語(yǔ)言中的運(yùn)算符,如果在復(fù)雜的表達(dá)方式中應(yīng)用,首先我們要了解運(yùn)算符的優(yōu)先級(jí)別。也就是說(shuō)先計(jì)算哪個(gè),再計(jì)算哪個(gè)的道理。就跟數(shù)學(xué)中的加減乘除相似。如果不知道運(yùn)算符的優(yōu)先級(jí)別,那么很可能導(dǎo)致最后的計(jì)算結(jié)果錯(cuò)誤。
我們沒(méi)有必要去記運(yùn)算符的優(yōu)先級(jí)別,只要記住關(guān)鍵的小括號(hào)級(jí)別是最高的就可以。實(shí)際開(kāi)發(fā)中只要使用小括號(hào)包裹的運(yùn)算符,就先去計(jì)算包裹的運(yùn)算符;
運(yùn)算符具有計(jì)算的優(yōu)先級(jí)別
1.先計(jì)算優(yōu)先級(jí)別高的運(yùn)算符 2.運(yùn)算符的級(jí)別相同,從左至右的計(jì)算 運(yùn)算符中優(yōu)先級(jí)別最高的是“()” 優(yōu)先計(jì)算的表達(dá)式利用"()"將其包裹起來(lái)
console.log(100 + 200 - 150 * 3); console.log(100 + 200 % 3); console.log(2 * 200 % 3); var num = 10; console.log(5 + ++num);
算數(shù)運(yùn)算符的基本操作比較簡(jiǎn)單
-如果運(yùn)算數(shù)中的一個(gè)或者兩個(gè)是字符串類型,那么JavaScript會(huì)自動(dòng)轉(zhuǎn)換成數(shù)字值,然后再進(jìn)行計(jì)算。
如果運(yùn)算數(shù)中的一個(gè)或兩個(gè)是字符串類型,但是其中的字符不是數(shù)字時(shí),JavaScript會(huì)自動(dòng)轉(zhuǎn)換成數(shù)字值進(jìn)行計(jì)算,得到的結(jié)果是NaN.(任何一個(gè)運(yùn)算數(shù)是NaN,結(jié)果都會(huì)是NaN)。
布爾的false和true值都會(huì)默認(rèn)轉(zhuǎn)換為0和1進(jìn)行計(jì)算。
var num = 100; var str1 = "運(yùn)算符"; var str2 = "200"; var boo = true; 加法 var result1 = num + 300; console.log(result1);// 400 如果字符串進(jìn)行加法計(jì)算 -> 字符串連接運(yùn)算符(拼串) var result2 = str1 + 300; console.log(result2); console.log(typeof result2);// string var result3 = str2 + 300; console.log(result3);// 200300 如果布爾類型進(jìn)行加法計(jì)算 -> 將布爾類型轉(zhuǎn)換為數(shù)字值,再進(jìn)行加法計(jì)算 var result4 = boo + 300; console.log(result4);// 301 減法 - 先將其他類型轉(zhuǎn)換為number類型,再進(jìn)行計(jì)算 var result5 = num - 100; console.log(result5);// 0 如果字符串進(jìn)行減法計(jì)算的話 -> 將字符串類型轉(zhuǎn)換為數(shù)字值,再進(jìn)行減法計(jì)算 var result6 = str1 - 100; console.log(result6);// NaN var result7 = str2 - 100; console.log(result7);// 100 如果布爾類型進(jìn)行減法計(jì)算 -> 將布爾類型轉(zhuǎn)換為數(shù)字值,再進(jìn)行減法計(jì)算 var result8 = boo - 100; console.log(result8);// -99
2.比較運(yùn)算符
JavaScript語(yǔ)言中的比較運(yùn)算符,主要是用來(lái)比較兩個(gè)操作數(shù)的大小,相等。
全等于不全等,不僅要比較直,還要比較類型。
1.number類型 console.log(10 > 11);// false是錯(cuò)誤的,10不可能大于11 console.log(11 > 10);// true是正確的,11本來(lái)就大于10 console.log(10 >= 10);// true是正確的,10本身就大于等于10 2.boolean類型 - 將boolean類型轉(zhuǎn)換為number類型 console.log(true > false);// true是正確的,true表示1、false表示0 console.log(true > 0);// true是正確的,true表示1,所以大于0 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
Unicode編碼順序
相等與不等比較
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)算符的區(qū)別
賦值運(yùn)算符(=)
相等比較運(yùn)算符(==)
不等比較運(yùn)算符
符號(hào)是(!=)
不是(<>)
isNaN()函數(shù)
isNaN函數(shù)用于判斷其參數(shù)是否為NaN。
一般多用于檢測(cè)使用類型轉(zhuǎn)換函數(shù)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換后的結(jié)果是否為合法的數(shù)字值。
(NaN與任何值包括自身進(jìn)行比較,最后結(jié)果都是false)
作用 - 判斷當(dāng)前值是否為 NaN true - 表示當(dāng)前值是 NaN(不是一個(gè)數(shù)字值) false - 表示當(dāng)前值不是 NaN(不是一個(gè)數(shù)字值) console.log(isNaN(100));// false console.log(isNaN(Number("wolongxueyuan")));// true var result = 100/0; console.log(result);// Infinity isFinite()函數(shù) 作用 - 判斷當(dāng)前值是否為無(wú)窮大 false - 表示當(dāng)前值是無(wú)窮大 true - 表示當(dāng)前值是有限數(shù)值 console.log(isFinite(result));// false
邏輯運(yùn)算符
邏輯運(yùn)算符是用于布爾類型的計(jì)算。
把邏輯與運(yùn)算的兩個(gè)操作數(shù),轉(zhuǎn)換為布爾類型。
當(dāng)左邊的操作數(shù)為true,結(jié)果是右邊操作數(shù)的值
當(dāng)左邊的操作數(shù)為false,結(jié)果是左邊操作數(shù)的值
邏輯或運(yùn)算符
console.log(true || true);// true console.log(true || false);// true console.log(false || true);// true console.log(false || false);// false 將邏輯與運(yùn)算符的兩個(gè)操作數(shù),轉(zhuǎn)換為布爾類型 -當(dāng)左邊的操作數(shù)為true時(shí),結(jié)果為左邊操作數(shù)的值 - 當(dāng)左邊的操作數(shù)為false時(shí),結(jié)果為右邊操作數(shù)的值 console.log(100 || 1); console.log(1 || 0); console.log(0 || 1); console.log(0 || 0); console.log(true || true); console.log(true || false); console.log(false || true); console.log(false || false);
邏輯短路
邏輯與運(yùn)算符
- 邏輯與運(yùn)算符前面是false,結(jié)果都將返回邏輯與運(yùn)算符前面的值 - 邏輯與運(yùn)算符前面是true,結(jié)果都將回邏輯與運(yùn)算符后面的值
邏輯或與運(yùn)算符
- 邏輯或運(yùn)算符前面是false,結(jié)果都將返回邏輯或運(yùn)算符后面的值 - 邏輯或運(yùn)算符前面是true,結(jié)果都將返回邏輯或運(yùn)算符前面的值
4.條件運(yùn)算符
var score = 55; 嵌套條件運(yùn)算符 優(yōu)點(diǎn) - 擴(kuò)展了條件運(yùn)算符本身的計(jì)算能力 缺點(diǎn) -可讀性比較差 -性能隨著嵌套的層級(jí)越多越差 建議 - 最多不要超過(guò)三層嵌套 var result = score > 90 ? "優(yōu)秀" : (score > 80 ? "良好" : (score > 60 ? "及格" : "不及格")); console.log(result);
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/96692.html
摘要:調(diào)用棧就是為了到達(dá)當(dāng)前執(zhí)行位置所調(diào)用的所有函數(shù)。由于無(wú)法控制回調(diào)函數(shù)的執(zhí)行方式,因此就沒(méi)有辦法控制調(diào)用位置得到期望的綁定,下一節(jié)我們會(huì)介紹如何通過(guò)固定來(lái)修復(fù)這個(gè)問(wèn)題。 在《你不知道的this》中我們排除了對(duì)于this的錯(cuò)誤理解,并且明白了每個(gè)函數(shù)的this是在調(diào)用時(shí)綁定的,完全取決于函數(shù)的調(diào)用位置。在本節(jié)中我們主要介紹一下幾個(gè)主要內(nèi)容: 什么是調(diào)用位置 綁定規(guī)則 this詞法 調(diào)用...
摘要:數(shù)據(jù)類型數(shù)據(jù)類型表示數(shù)值的類型類型的分類原始類型類型數(shù)字類型類型分為整數(shù)和浮點(diǎn)數(shù)整數(shù)正整數(shù)負(fù)整數(shù)變量為數(shù)字類型整數(shù)顯示浮點(diǎn)數(shù)小數(shù)變量為數(shù)字類型浮點(diǎn)數(shù)顯示浮點(diǎn)數(shù)在小數(shù)點(diǎn)前面如果沒(méi)有數(shù)字,會(huì)被默認(rèn)為在小數(shù)點(diǎn)前的數(shù)字為比如會(huì)顯示浮點(diǎn)數(shù)的 數(shù)據(jù)類型 數(shù)據(jù)類型 - 表示數(shù)值的類型 類型的分類 原始類型 number類型(數(shù)字類型) number類型分為整數(shù)和浮點(diǎn)數(shù) 整數(shù) - 正整數(shù) 、0 、負(fù)...
摘要:原始類型分別有類型類型和類型三種。類型中存在一個(gè)特殊的值叫。也可以把其他類型的數(shù)據(jù)自動(dòng)轉(zhuǎn)換為類型運(yùn)算符運(yùn)算符判斷原始類型語(yǔ)法結(jié)構(gòu)變量名稱。 數(shù)據(jù)類型 1.數(shù)據(jù)類型的概述;在JavaScript代碼中,能夠表示并且操作值的類型就叫做數(shù)據(jù)類型數(shù)據(jù)類型可以分成可變類型和不可變類型,可變類型的值是可以修改的。相反不可變類型的值是不可以修改的。數(shù)據(jù)類型還有原始類型(原始值)與引用類型(內(nèi)置對(duì)象)...
摘要:表達(dá)式語(yǔ)句把表達(dá)式當(dāng)做語(yǔ)句的用法聲明語(yǔ)句用來(lái)聲明新變量或定義新函數(shù)控制結(jié)構(gòu)改變語(yǔ)句的默認(rèn)執(zhí)行順序條件語(yǔ)句循環(huán)語(yǔ)句跳轉(zhuǎn)語(yǔ)句表達(dá)式語(yǔ)句賦值語(yǔ)句運(yùn)算符函數(shù)調(diào)用等復(fù)合語(yǔ)句和空語(yǔ)句復(fù)合語(yǔ)句復(fù)合語(yǔ)句將多條語(yǔ)句聯(lián)合在一起,當(dāng)成一條單獨(dú)的語(yǔ)句語(yǔ)句塊的結(jié)尾不 表達(dá)式語(yǔ)句(expression statement):把表達(dá)式當(dāng)做語(yǔ)句的用法; 聲明語(yǔ)句(declaration statement):用來(lái)聲...
摘要:多數(shù)運(yùn)算符都是由標(biāo)點(diǎn)符號(hào)表示,比如和。通常會(huì)根據(jù)需要對(duì)操作數(shù)進(jìn)行類型轉(zhuǎn)換左值是一個(gè)古老的屬于,它是指表達(dá)式只能出現(xiàn)在賦值運(yùn)算符的左側(cè)。也稱為嚴(yán)格相等運(yùn)算符,它用來(lái)檢測(cè)兩個(gè)操作數(shù)是否嚴(yán)格相等。運(yùn)算符的檢測(cè)規(guī)則是和運(yùn)算符的求反。 源代碼: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/...
閱讀 1228·2021-11-15 11:37
閱讀 2244·2021-09-30 09:55
閱讀 4482·2021-09-22 15:51
閱讀 3741·2021-09-22 15:46
閱讀 2766·2019-08-30 15:52
閱讀 423·2019-08-29 16:20
閱讀 2889·2019-08-29 15:12
閱讀 1129·2019-08-26 18:27