「==」運算子(兩個運算元的型別不相同時)
物件到數字的轉換
空陣列轉換為數字0
boolean(); //true
number(); //0
number({}); // nan
number(false); //0
因此:
console.log(()?true:fasle);// => console.log((true)?true:false);
console.log(==false?true:false); // => console.log(0==0?true:false);
console.log(({}==false)?true:false); // => console.log((nan==0)?true:false);
布林型別裡只有這幾引數個返回false,其它都為true
boolean(undefined) // false
boolean(null) // false
boolean(0) // false
boolean(nan) // false
boolean('') // false
JS中的型別轉換
1 隱式型別轉換 如果相等操作的兩個變數不是同一型別,那麼相等運算子會嘗試進行一些型別轉換 比較運算子。運算元可以是任何型別,但是只有數字和字串才能真正執行比較操作。減操作符將兩個運算元都轉換為數字。加操作符,如果乙個運算元是字串,那麼另外乙個運算元也會轉換為字串。一元加會將其運算元轉換為數字。轉換...
js中的隱含型別轉換
記錄下平時的知識點 心得等,如果理解有誤還請提出以便及時修正.1 toprimitive obj,type js內部存在toprimitive obj,type 隱含轉換方法,實質意義上是呼叫obj物件的valueof方法及tostring方法將該物件轉換為原始型別,其中,date型別資料預設typ...
js中的強制型別轉換
今天沒轉過彎,寫出了下面一段錯誤 強制型別轉換問題 錯誤 if b.indexof detail 本意是覺得indexof方法返回的是 1或者大於等於0的數字,利用if條件判斷,當其中的值為負數時,預設布林值為false,不執行getrportbyid函式,完成要求。在除錯時發現該函式返回值為 1時...