首頁  >  文章  >  web前端  >  javascript等號運算子使用詳解_javascript技巧

javascript等號運算子使用詳解_javascript技巧

WBOY
WBOY原創
2016-05-16 16:03:481308瀏覽

本章節介紹一下javascript中號運算子的用法,需要的朋友可以做參考。

等號運算子最為基本的用法就是比較兩個運算數是否相等,看如下程式碼實例:

複製程式碼 程式碼如下:

var a=2,b=2;
console.log(a==b);

如果兩個運算元相等,那麼回傳值就是true,否則回傳false。
上面是最基本的用法,下面再來介紹一下它相對比較特殊的幾種情況。

複製程式碼 程式碼如下:

var str="5";
var num=5;
console.log(str==num);

上面的程式碼回傳值是true。

不少朋友可能會有疑問,一個是字串,一個是數值類型,怎麼回傳值是true,當然這在c#或java肯定是錯誤的,但是在js中這一切都不是問題,會進行隱式資料類型轉換,字串會嘗試轉換為數字。
再來看一段程式碼實例:

複製程式碼 程式碼如下:

console.log(true==1);

上面的程式碼也會回傳true,因為true也會進行隱含轉換,它會轉換為1,false將會轉換為false。
下面再看一段程式碼實例:

複製程式碼 程式碼如下:

var obj={
  valueOf:function(){return 10}
}
console.log(obj==10);

一個物件竟然可以和一個數字直接量比較大小,且回傳值是true。
這是因為物件會先呼叫valueOf()方法,如果沒有此方法則嘗試呼叫toString()方法。

javascript的兩個等號和三個等號的區別:

在javascript程式碼經常看到三個等號和兩個等號的使用,以下就介紹一下它們兩者的差異是什麼。
程式碼實例:
實例一:

複製程式碼 程式碼如下:

console.log(0=="");
console.log(0==false);
console.log(""==false);

實例二:

複製程式碼 程式碼如下:

console.log(0==="");
console.log(0===false);
console.log(""===false);

上面你的程式碼示範了兩個運算子的,下面介紹一下它們兩者的差異。

三個等號全等運算子:

既然是全等運算符,那麼兩個運算數必須完全一樣才能夠相等,具體比較規則如下:

1.如果兩個運算是值型,那麼兩個運算元必須完全相等才會相等。
2.如果是引用類型,兩個操作數必須指向同一個物件才會相等。

兩個等號運算子:

這個運算子比較博愛一些,在比較的時候如果兩個運算元的型別不同,會進行型別轉換,具體規則如下:

1.如果是資料型別相同的值型,那麼比較規則和全等運算子相同。
2.如果兩個操作數型相同,那麼它們也是有可能相同的:
a:如果一個是null、一個是undefined,那麼兩個是相同的。
b:如果一個是字串,一個是數值,把字串轉換成數值再進行比較。
c:如果任一值是true,把它轉換成1再比較,如果任一值是false,把它轉換成0再比較。
d:如果一個是對象,另一個是數值或字串,把對象轉換成基礎類型的值再比較。物件轉換成基礎類型,利用它的toString或valueOf方法。

以上就是本文的全部內容了,希望大家能夠喜歡。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn