欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript等號運算符使用詳解

 更新時間:2015年04月16日 08:49:02   投稿:hebedich  
在JavaScript中,等號由雙等號(==)表示,當(dāng)且僅當(dāng)兩個運算數(shù)相等時,它返回true。今天我們就來詳細(xì)探討下等號運算符的問題,并附上等號運算符和全等號運算符的區(qū)別分析。

本章節(jié)介紹一下javascript中等號運算符的用法,需要的朋友可以做一下參考。

等號運算符最為基本的用法就是比較兩個運算數(shù)是否相等,看如下代碼實例:

復(fù)制代碼 代碼如下:

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

如果兩個操作數(shù)相等,那么返回值就是true,否則返回false。
上面是最為基本的用法,下面再來介紹一下它相對比較特殊的幾種情況。

復(fù)制代碼 代碼如下:

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ù)字。
再來看一段代碼實例:

復(fù)制代碼 代碼如下:

console.log(true==1);

上面的代碼也會返回true,因為true也會進(jìn)行隱式轉(zhuǎn)換,它將會被轉(zhuǎn)換為1,false將會被轉(zhuǎn)換為false。
下面再看一段代碼實例:

復(fù)制代碼 代碼如下:

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

一個對象竟然可以和一個數(shù)字直接量比較大小,并且返回值是true。
這是因為對象會首先調(diào)用valueOf()方法,如果沒有此方法則嘗試調(diào)用toString()方法。

javascript的兩個等號和三個等號的區(qū)別:

在javascript代碼經(jīng)常看到三個等號和兩個等號的使用,下面就介紹一下它們兩者的區(qū)別是什么。
代碼實例:
實例一:

復(fù)制代碼 代碼如下:

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

實例二:

復(fù)制代碼 代碼如下:

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)插件

    Bootstrap每天必學(xué)之模態(tài)框(Modal)插件,模態(tài)框(Modal)是覆蓋在父窗體上的子窗體。通常,目的是顯示來自一個單獨的源的內(nèi)容,可以在不離開父窗體的情況下有一些互動。子窗體可提供信息、交互等,感興趣的小伙伴們可以參考一下
    2016-04-04
  • JS實現(xiàn)簡單日歷特效

    JS實現(xiàn)簡單日歷特效

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)簡單日歷特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • Bootstrap警告(Alerts)的實現(xiàn)方法

    Bootstrap警告(Alerts)的實現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了Bootstrap警告(Alerts)的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 原生微信小程序/uniapp使用空格占位符無效的解決辦法

    原生微信小程序/uniapp使用空格占位符無效的解決辦法

    最近需要在字體中間加空白占位符,在嘗試使用 之后,還是不能使用,下面這篇文章主要給大家介紹了關(guān)于原生微信小程序/uniapp使用空格占位符無效的解決辦法,需要的朋友可以參考下
    2023-02-02
  • js中的bigint類型轉(zhuǎn)化為json字符串時報無法序列化的問題

    js中的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-01
  • js實現(xiàn)方塊上下左右移動效果

    js實現(xiàn)方塊上下左右移動效果

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)方塊上下左右移動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • js實現(xiàn)hashtable的賦值、取值、遍歷操作實例詳解

    js實現(xiàn)hashtable的賦值、取值、遍歷操作實例詳解

    這篇文章主要介紹了js實現(xiàn)hashtable的賦值、取值、遍歷操作,結(jié)合實例形式分析了哈希表的原理、哈希鍵值對操作相關(guān)技巧,需要的朋友可以參考下
    2016-12-12
  • Bootstrap警告框(Alert)插件使用方法

    Bootstrap警告框(Alert)插件使用方法

    這篇文章主要為大家詳細(xì)介紹了Bootstrap 警告框(Alert)插件的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • JS獲取地址欄參數(shù)的小例子

    JS獲取地址欄參數(shù)的小例子

    這篇文章介紹了JS獲取地址欄參數(shù)的小例子,有需要的朋友可以參考一下
    2013-08-08
  • js確認(rèn)刪除對話框效果的示例代碼

    js確認(rèn)刪除對話框效果的示例代碼

    本篇文章主要是對js確認(rèn)刪除對話框效果的示例代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02

最新評論