javascript等號運算符使用詳解
本章節(jié)介紹一下javascript中等號運算符的用法,需要的朋友可以做一下參考。
等號運算符最為基本的用法就是比較兩個運算數(shù)是否相等,看如下代碼實例:
var a=2,b=2;
console.log(a==b);
如果兩個操作數(shù)相等,那么返回值就是true,否則返回false。
上面是最為基本的用法,下面再來介紹一下它相對比較特殊的幾種情況。
var str="5";
var num=5;
console.log(str==num);
上面的代碼返回值是true。
不少朋友可能會有疑問,一個是字符串,一個是數(shù)值類型,怎么返回值是true,當(dāng)然這在c#或者java肯定是錯誤的,但是在js中這一切都不是問題,會進(jìn)行隱式數(shù)據(jù)類型轉(zhuǎn)換,字符串會嘗試轉(zhuǎn)換為數(shù)字。
再來看一段代碼實例:
console.log(true==1);
上面的代碼也會返回true,因為true也會進(jìn)行隱式轉(zhuǎn)換,它將會被轉(zhuǎn)換為1,false將會被轉(zhuǎn)換為false。
下面再看一段代碼實例:
var obj={
valueOf:function(){return 10}
}
console.log(obj==10);
一個對象竟然可以和一個數(shù)字直接量比較大小,并且返回值是true。
這是因為對象會首先調(diào)用valueOf()方法,如果沒有此方法則嘗試調(diào)用toString()方法。
javascript的兩個等號和三個等號的區(qū)別:
在javascript代碼經(jīng)常看到三個等號和兩個等號的使用,下面就介紹一下它們兩者的區(qū)別是什么。
代碼實例:
實例一:
console.log(0=="");
console.log(0==false);
console.log(""==false);
實例二:
console.log(0==="");
console.log(0===false);
console.log(""===false);
上面你的代碼演示了兩個運算符的,下面介紹一下它們兩者的區(qū)別。
三個等號全等運算符:
既然是全等運算符,那么兩個運算數(shù)必須完全一樣才能夠相等,具體比較規(guī)則如下:
1.如果兩個操作是值類型,那么兩個操作數(shù)必須完全相等才會相等。
2.如果是引用類型,兩個操作數(shù)必須指向同一個對象才會相等。
兩個等號運算符:
這個運算符比較博愛一些,在比較的時候如果兩個操作數(shù)的類型不同,會進(jìn)行類型轉(zhuǎn)換,具體規(guī)則如下:
1.如果是數(shù)據(jù)類型相同的值類型,那么比較規(guī)則和全等運算符相同。
2.如果兩個操作數(shù)類型相同,那么它們也是有可能相同的:
a:如果一個是null、一個是undefined,那么兩個是相同的。
b:如果一個是字符串,一個是數(shù)值,把字符串轉(zhuǎn)換成數(shù)值再進(jìn)行比較。
c:如果任一值是true,把它轉(zhuǎn)換成1再比較,如果任一值是false,把它轉(zhuǎn)換成0再比較。
d:如果一個是對象,另一個是數(shù)值或字符串,把對象轉(zhuǎn)換成基礎(chǔ)類型的值再比較。對象轉(zhuǎn)換成基礎(chǔ)類型,利用它的toString或者valueOf方法。
以上就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
Bootstrap每天必學(xué)之模態(tài)框(Modal)插件
Bootstrap每天必學(xué)之模態(tài)框(Modal)插件,模態(tài)框(Modal)是覆蓋在父窗體上的子窗體。通常,目的是顯示來自一個單獨的源的內(nèi)容,可以在不離開父窗體的情況下有一些互動。子窗體可提供信息、交互等,感興趣的小伙伴們可以參考一下2016-04-04Bootstrap警告(Alerts)的實現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了Bootstrap警告(Alerts)的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03js中的bigint類型轉(zhuǎn)化為json字符串時報無法序列化的問題
JSON序列化指將JSON對象轉(zhuǎn)換為JSON字符串,J實現(xiàn)方式有兩種:一種是調(diào)用JSON對象內(nèi)置的stringify()函數(shù),一種是為對象自定義toJSON()函數(shù),本文重點介紹js中的bigint類型轉(zhuǎn)化為json字符串時報無法序列化的問題,感興趣的朋友一起看看吧2024-01-01js實現(xiàn)hashtable的賦值、取值、遍歷操作實例詳解
這篇文章主要介紹了js實現(xiàn)hashtable的賦值、取值、遍歷操作,結(jié)合實例形式分析了哈希表的原理、哈希鍵值對操作相關(guān)技巧,需要的朋友可以參考下2016-12-12