JavaScript JS中的 轉換規則

2021-08-29 01:45:11 字數 1364 閱讀 7340

我們知道,「=」、「==」 和「===」這三者之間是不一樣的。具體怎樣的不一樣呢?今天來說說「==」的轉換規則。

下面是一張「==」強制轉換規則表。

引數型別1

引數型別2

強制轉換

null

undefined

不轉換,總是返回true

null或undefined

其它任何非null或undefined的型別

不轉換,總是返回false

原始型別:string、number或boolean

date物件

將原始型別轉換成數字;將date物件轉換為原始型別。(優先嘗試tostring方法,再嘗試valueof方法)

原始型別:string、number或boolean

非data物件

將原始型別轉換成數字;將非date物件轉換為原始型別。(優先嘗試tostring方法,再嘗試valueof方法)

原始型別:string、number或boolean

原始型別:string、number或boolean

將原始型別轉換成數字

看了上面的表,我們再來細說一下==的個別常遇見的轉換規則。 

1.number型別與string型別比較,string會轉換為number型別

'' == '0' //false

0 == ''//true;

0 == '0'//true

' \t\r\n '==0//true

2.null和undefined型別比較始終相等

null == undefined //true
我之前有寫過一篇null和undefined的區別的文章,有興趣的話可以移駕看看哦~

3.布林型別與其它任何型別進行比較,布林型別將會轉換為number型別

false == 'false'//false

false == '0'//true

false == null//false

null == undefined //true

4.number型別或string型別與object型別進行比較,number或者string型別都會轉換為object型別

var a = 0, b = {}; 

a == b//false

從上面的表和這四種例子來看,==的轉換規則並不夠嚴謹,如果語句需要特別嚴謹的話,珍愛生命,請使用===和!===

biu~~~~~~~~

javascript js 中判斷資料型別

1.undefined 如果這個值未定義的話,返回該值 2.boolean 如果這個值是布林值的話 3.string 如果這個值是字串的話 4.number 如果這個值是數值的話 5.object 如果這個值是物件或者null的話 6.function 如果這個值是函式的話.注意 有些時候typeo...

matlab中的轉字元

轉義字元 英文叫做 escape characters 應該譯作 被遺忘的字元 或者 逃跑的字元 多好啊。幹嘛搞的那麼學術?如果你要定義乙個字串,可是字串裡面有個單引號,可能就會遇到困難。比如我定義 s 這個句子中有乙個單引號 怎麼吧 matlab會報錯 複製 第乙個單引號和第二個單引號配成一對。得...

VC中radio的用法 轉

radio button 使用 使用方法一 在工程中新增控制項後,直接在控制項的click事件中寫入需要的 即可 使用方法二 1.建立乙個基於對話方塊的用用 程式,在其中加入三個radio button,id分別為 idc radio1,idc radio2,idc radio3 2.控制項的初始化...