js中的強制型別轉換

2021-10-01 07:28:50 字數 535 閱讀 4704

今天沒轉過彎,寫出了下面一段錯誤**:

// 強制型別轉換問題  錯誤

if(b.indexof('detail'))

本意是覺得indexof方法返回的是-1或者大於等於0的數字,利用if條件判斷,當其中的值為負數時,預設布林值為false,不執行getrportbyid函式,完成要求。在除錯時發現該函式返回值為-1時該函式依舊呼叫,才發現自己搞混了關於js的if()條件的型別轉換,轉換為布林值的相關問題。

所以到底哪些值會被if條件判斷中會被轉換為false,哪些轉換為true呢?

因為大多數情況下都會被轉換成true,而少部分情況下會被轉換成false。

所以主要看看會被轉換為false的四種情況,則true就是它相反的情況啦:

1.數字0      2.nan     3.空字串      4.null或undefined(非嚴格相等的情況下,undefined==null)

我犯的錯誤主要是以為負數的話會被if條件判斷轉換為false,但是其實數字型的除了0都是true!!!!!!!!!

JS 型別轉換 強制型別轉換

js 型別轉換 強制型別轉換 一 parseint 將其他型別轉換成number型別的整數 注意 string number 1 字串中值的首字元必須是數字,轉換後才能得到具體的值 否則得到nan 2 只轉換從首字元開始的連續數字 如 2b345 轉換後只得到2 3 除了string,其他型別轉換後...

js強制型別轉換

值型別轉換 包括兩種 顯式轉換和隱式轉換。將值從一種型別轉換為另外一種型別稱為型別轉換,也叫做顯式型別轉換,隱式的情況也叫做強制型別轉換。在js中兩種轉換被統稱為強制型別轉換。其實,對於顯式和隱式沒有很明確的界定,如果你不知道某種情況是一種顯式型別轉換,那麼它對於你來講就是隱式的。抽象值操作 顯示強...

JS 強制型別轉換

number string var number 8 var str string number console.log typeof str 複製 boolean string var boolean true var str string boolean console.log typeof s...