用于進(jìn)行比較的運(yùn)算符稱為關(guān)系運(yùn)算符:小于(<),大于(<),小于等于(<=),大于等于(>=),相等(==),不等(!=),全等【恒等】(===),不全等【不恒等】(!==)。
var ?box = 3 < 2 ; ? ? ? ? ? ? ? ? // 關(guān)系運(yùn)算符大多返回一個(gè)布爾值
var? box = “3” >22; ? ? ? ? ? ? ?// 字符串會(huì)被轉(zhuǎn)化成數(shù)值,再比較
var? box = “3” >“22”; ? ? ? ? ? ?// 如果兩個(gè)都是字符串,會(huì)對(duì)第一個(gè)字符進(jìn)行比較,3>2
var box ?= 對(duì)象 ?; ? ? ? ? ? ? ? ? //false;
var box = 2 > {
? ? toString:funtion(){
? ? ? ? ? ?return 1;
? ? ?}
}
var ? box ?= "a">"b"; ? ? ? ? ? ? ?//97 >98 ?字符編碼進(jìn)行比較
var? box? = "a">"B";? ? ? ? ? ? ? //97 >66 ?字符編碼進(jìn)行比較
總結(jié):
1.倆個(gè)操作數(shù)都是數(shù)值,則數(shù)值比較
2.兩個(gè)操作數(shù)都是字符串,則比較兩個(gè)字符串對(duì)應(yīng)的字符編碼值
3.如果一個(gè)操作數(shù)是數(shù)值,則將另外一個(gè)操作數(shù)轉(zhuǎn)化為數(shù)值,然后進(jìn)行數(shù)值比較
4.如果一個(gè)操作數(shù)是布爾值,則先將其轉(zhuǎn)化成數(shù)值,然后再執(zhí)行比較
5如果一個(gè)操作數(shù)是對(duì)象,則先調(diào)用valueof()方法或toString()方法,再用結(jié)果比較
相等和不相等------先轉(zhuǎn)換再比較;全等和不全等------僅比較而不轉(zhuǎn)換
var box = 2 == 1; ? ? ? ? ? ? ? ? ? ? //true?
var box = “2” == 2;? ? ? ? ? ? ? ? ? //true ? ? ? “2”會(huì)轉(zhuǎn)成數(shù)值2
var box = false==0; ? ? ? ? ? ? ? ?//true ? ? ? ?false轉(zhuǎn)成數(shù)值就是0;
var ?box =“a” == “A”; ? ? ? ? ? ? ?//false ? ? ? 轉(zhuǎn)換后的編碼不一樣
var ?box = 2 =={} ? ? ? ?; ? ? ? ? ? ? ?// false 執(zhí)行toString()或 ValueOf()會(huì)改變
var box = 2 ==NaN; ? ? ? ? ? ? ? //false , 只要有NaN,都是false
var box = { } == {} ? ? ? ? ? ? ? ? ? ? // false 比較的是他們的地址,每個(gè)新建對(duì)象的引用地址都不同
var age = { };
var ?height = age;
var box = age ==height; ? ? ?// true,應(yīng)用地址一樣,所以相等
var box = “2”===2; ? ? ? ? ? ? ?// false ? 值和類型都必須相等
var ?box = 2!==2; ? ? ? ? ? ? // false ?值和類型都相等了
總結(jié)
1.如果一個(gè)操作數(shù)是布爾值,則先將其轉(zhuǎn)換成數(shù)值,true是1,false是0
2.如果一個(gè)操作數(shù)是字符串,則將其轉(zhuǎn)成數(shù)值再比較
3.如果一個(gè)操作數(shù)的對(duì)象,則先調(diào)用valueOf()或toString()方法再返回值比較
4.不轉(zhuǎn)換的情況下,null等于undefined
5.如果有一個(gè)操作符是NaN,則相等操作符返回false,不相等操作符返回true;NaN不等于NaN
6.如果兩個(gè)操作數(shù)都是對(duì)象,則比較透明是否是同一個(gè)對(duì)象,如果都指向同一個(gè)對(duì)象,怎返回true,否則返回false
7.在全等和不全等的比較中,值和類型都相等,才返回true,否則返回false。換句話,在操作數(shù)不轉(zhuǎn)換的情況下相等才是全等。
ps:這些東西我輸入過信息,至少目前的理解的,當(dāng)我哪天忘掉的時(shí)候,還可以跑到這里來尋找答案,分享給大家,也是在積累自己的財(cái)富,畢竟這是我自己實(shí)踐過的內(nèi)容,加油,對(duì)于接下來新一輪的面試找工作,我莫須有的自信