js深入淺出 型別轉換

2021-08-14 12:25:44 字數 1478 閱讀 3081

隱式轉換

1.=是賦值

2.嚴格模式=== 先判斷型別,再判斷值

console.log('123'===123);//

false

console.log(null===undefined);//

false

console.log(undefined===undefined);//

true`

3.==如圖

2.一邊是數值,一邊是字串,字串會轉數值;

console.log('123'==123);//true
3.布林值會轉數值

true->1

false->0

console.log(1==true);//true 

console.log(0==false);//true

4.左邊是物件時,如果右邊是字串或者數字時,左邊會轉為基本型。

console.

log(new

string("hello")==

'hello');//true

console.

log(new

string("22")==

22);//true

console.

log(new boolean(true)==

1);//true

其他都是false

物件是用引用去比較,而不是值。兩個物件永遠不會相等,但是一邊是物件,另一邊是字串或者數值,物件會轉換成基本型別後進行比較。

console.log(new

string("22")==new

string("22"));//false

console.log(new

array(1,2)==[1,2]);//false

console.log(new

object()==new

object());//false

console.log([1,2]==[1,2]);//false

var x=new

object();

console.log(x===x);//true

nan不等於nan

console.log(nan===nan);//false

深入淺出Javascript 型別

js有6種原型資料型別 null,undefined,boolean,number,string,symbol var as null undefined console.log as nullnull.asd uncaught typeerror cannot read property asd ...

深入淺出JS 作用域

作用域是什麼呢?它是指的 在執行時,變數 函式或者物件的可訪問性?還是乙個變數和函式的作用範圍?又或是如 know js 中所說的作用域是根據名稱查詢變數的一套規則呢,又或是指的當前 的執行環境?在筆者的眼裡,作用域所指的是規則,一套用來管理變數和函式的作用範圍的規則。var userinfo a ...

JS 深入淺出This指向(精簡)

首先我們圍繞耳熟能詳的 this始終指向它的呼叫者 開始。這句結論雖然沒有什麼問題,但是說得過於籠統,還是得深入到背後的執行原理才能舉一反三解決問題。舉個簡單的例子 var obj var foo obj.foo var num 3 obj.foo 2 foo 3 obj.foo 是物件obj呼叫自...