原生JS 隱式型別轉換的場景

2021-10-07 17:37:23 字數 1211 閱讀 6104

規則:

console.

log(1+

1);// 2

console.

log(

"1"+1)

;// 11 只要有一邊出現字元,就是字串的拼接

console.

log(

"2"-1)

;// 1 將字元"2"轉換成數字2,再進行正常的運算

console.

log(

"2"*1)

;// 2

console.

log(

"1a"/1

);// nan 字元"1a"轉不了數值

【注】除字串以外的資料,在進行算術運算的時候,先轉成數字,再進行運算

console.

log(10+

true);

// 11,true == 1,false == 0,null == 0

規則:

console.

log(

"2">11)

;// false 將字元"2"轉成數值2,再進行比較

console.

log(

"2">

"11");

// true 兩邊都是字元,就是字元的比較規則(逐位)比較

規則:
console.

log(

isnan

('hello'))

;//true,'hello'不能轉成數值,因此會得到nan

console.

log(

isnan

('123'))

;//false,'123'能轉成數值,因此不是nan

console.

log(

isnan

('12a3'))

;//true,嚴格轉換,出現字母就不能轉成數值,因此是nan

console.

log(

isnan

('12.3'))

;//false,能識別小數點,因此能轉成數值,因此不是nan

規則:

// 0為假if(

0)else

// 空字元為假if(

"")else

js隱式型別轉換

筆試題 var x 1 if function console.log x 1undefined解析 if function f function f 作為表示式,function f消失,所以在if裡面,f為未宣告 任何乙個變數,未經宣告使用都會報錯。但是,typeof其時,不會報錯,而是unde...

JS隱式型別轉換

isnan 判斷引數是否為nan,返回boolean值,隱式呼叫顯示型別轉換中的number 再將呼叫的結果和nan比對,返回true false isnan 123s true 解析 number 123s nan nan nan isnan null false 解析 number null 0...

js隱式型別轉換

乙個沒有提供 symbol.toprimitive 屬性的物件,參與運算時的輸出結果 var obj1 console.log obj1 nan console.log object object console.log obj1 object object 接下面宣告乙個物件,手動賦予了 symb...