前端面試之 判斷 "true" == true 須要進行哪幾步操做?

一、首先是  "true"==true的結果爲false

segmentfault

二、爲何? 在轉化不一樣數據類型時,相等或不等遵循如下規則:spa

(1)若是有一個操做數是布爾值,則在比較相等以前先將布爾值轉化爲數值,即:true 爲 1 ,false 爲 0對象

(2)若是有一個操做數是字符串,另外一個操做數是數值,則在比較相等以前先將字符串轉化爲數值,即:"3" 爲 3 ,"sfehf" 爲 NaN字符串

(3)若是有一個操做數是對象 ,另外一個不是對象,則調用對象的valueOf()方法(valueOf() 方法可返回 Boolean 對象的原始值),用獲得的基本類型值按照前面的規則進行比較。class

三、所以,按照規則(1)和(2),轉化結果爲:NaN == 1 ,結果爲false數據類型

 

更多關於 == 以及 === 的詳細請參考:方法

https://segmentfault.com/a/1190000000650129數據

相關文章
相關標籤/搜索