第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開(kāi)發(fā)者教程

JavaScript 入門(mén)教程

JavaScript 比較運(yùn)算符

比較運(yùn)算符用于比較兩個(gè)表達(dá)式的結(jié)果。如變量 num 加上變量 offset 是否大于0,大于就是一個(gè)比較運(yùn)算符。

比較運(yùn)算符還分為相等運(yùn)算符關(guān)系運(yùn)算符。

相等運(yùn)算符:

  • == 相等
  • != 不相等
  • === 嚴(yán)格相等
  • !== 嚴(yán)格不相等

關(guān)系運(yùn)算符:

  • > 大于
  • >= 大于等于
  • < 小于
  • <= 小于等于

運(yùn)算符返回的都是布爾值。

運(yùn)算符左右的值也被稱為操作數(shù)。

1. 相等運(yùn)算符

相等運(yùn)算符用于判斷運(yùn)算符左右兩邊的值是否一致。

很多資料也會(huì)把相等稱為等于,嚴(yán)格相等被稱作嚴(yán)格等于。

1.1 相等

相等運(yùn)算符在進(jìn)行比較的時(shí)候,如果兩邊操作數(shù)數(shù)據(jù)類(lèi)型不同,則會(huì)嘗試轉(zhuǎn)換成相同的類(lèi)型再進(jìn)行比較,如果轉(zhuǎn)換成相同類(lèi)型后的值相同,則返回 true,否則返回 false。

如果比較的兩個(gè)操作數(shù)是引用類(lèi)型,則會(huì)比較內(nèi)部的引用(是否引用同一個(gè)內(nèi)存地址上的值)。

'3' == 3; // true
3 == '3'; // true

2 == 1; // false

3 + 2 == 5; // true

var obj1 = {a: 1};
obj1 == {a: 1}; //false

var obj2 = obj1;
obj1 == obj2; // true

undefined == null; // true

1 == true; // true
0 == false; // true

因?yàn)閮?nèi)容比較簡(jiǎn)單,推薦直接在控制臺(tái)調(diào)試,可以快速看到結(jié)果。

具體的轉(zhuǎn)化規(guī)則可以查閱隱式轉(zhuǎn)換章節(jié)。

注意:相等會(huì)對(duì)不同類(lèi)型的比較數(shù)據(jù)進(jìn)行隱式轉(zhuǎn)換,為了防止誤導(dǎo)閱讀代碼的開(kāi)發(fā)者對(duì)轉(zhuǎn)換進(jìn)行猜測(cè),以及避免一些不可控的問(wèn)題,大部分開(kāi)發(fā)者會(huì)選擇不使用相等。

1.2 不相等

不相等的比較機(jī)制和相等一致,類(lèi)型相同直接比較,不相同的會(huì)嘗試轉(zhuǎn)換成相同類(lèi)型,碰到引用類(lèi)型則比較引用地址是否一致。區(qū)別就在于最后返回的結(jié)果與相等相反,比較結(jié)果如果不一致,則返回 true,一致則返回 false。

1 != 1; // false
1 != 2; // true

var obj1 = {a: 1};
obj1 != {a: 1}; // true

1.3 嚴(yán)格相等

嚴(yán)格相等在比較的時(shí)候,碰到兩邊的操作數(shù)類(lèi)型不同,則會(huì)直接返回 false,不會(huì)進(jìn)行類(lèi)型的轉(zhuǎn)換。

當(dāng)類(lèi)型一樣時(shí),則比較等號(hào)兩邊的值是否相等,相等則返回 true,否則返回 false。

1 === '1'; // false;

0 === false; // false

嚴(yán)格相等更加嚴(yán)格,程序中使用嚴(yán)格相等可以避免許多不可控的類(lèi)型轉(zhuǎn)換,特別是當(dāng)開(kāi)發(fā)者不熟悉轉(zhuǎn)換規(guī)則時(shí)候,應(yīng)盡可能使用嚴(yán)格相等。

1.4 嚴(yán)格不相等

嚴(yán)格不相等在比較的時(shí)候,如果兩邊的操作數(shù)不相等則返回 true,否則返回 false。其和嚴(yán)格相等一樣,不會(huì)進(jìn)行類(lèi)型轉(zhuǎn)換。

1 !== 1; // false
1 !== 2; // true

1 !== '1'; // true
undefined !== null; // true

注意:在做不相等運(yùn)算的時(shí)候,也應(yīng)該盡可能選擇嚴(yán)格不相等,原因與建議使用嚴(yán)格相等一致。

2. 關(guān)系運(yùn)算符

2.1 大于

大于運(yùn)算符會(huì)在左操作數(shù)大于右操作數(shù)的時(shí)候返回 true,否則返回 false。

1 > 2; // false
2 > 2; // false
2 > 1; // true

2.2 大于等于

大于運(yùn)算符會(huì)在左操作數(shù)大于等于右操作數(shù)的時(shí)候返回 true,否則返回 false。

1 >= 2; // false
3 >= 2; // true
2 >= 2; // true

2.3 小于

小于運(yùn)算符會(huì)在左操作數(shù)小于右操作數(shù)的時(shí)候返回 true,否則返回 false。

1 < 2; // true
2 < 2; // false
3 < 2; // false

2.4 小于等于

小于等于運(yùn)算符會(huì)在左操作數(shù)小于等于右操作數(shù)的時(shí)候返回 true,否則返回 false。

1 <= 2; // true
2 <= 2; // true
3 <= 2; // false

3. 注意點(diǎn)

3.1 字符串進(jìn)行比較

假如比較運(yùn)算符的兩側(cè)操作數(shù)都為字符串,則碰到中文,會(huì)將中文轉(zhuǎn)化成對(duì)應(yīng)的 Unicode 碼,碰到英文則轉(zhuǎn)化成對(duì)應(yīng)的 ASCII 碼,再對(duì)碼值進(jìn)行比較。

'a' > 'z'; // false

a 的 ASCII 碼為 97,z 的 ASCII 碼為 122,兩者在比較的時(shí)候相當(dāng)于是 97 > 122,結(jié)果就是 false。

如果碰到有多個(gè)字符,則會(huì)依次進(jìn)行比較。

'aaaaaz' > 'aaaaaaaaa'; // true

兩個(gè)操作數(shù)前五位都是 a,所以第六位才能決定出結(jié)果。

4. 小結(jié)

比較運(yùn)算符主要用于比較兩個(gè)值的大小關(guān)系,特別需要注意的是嚴(yán)格相等與相等的區(qū)別。