javascript - Boolean物件和基本型Boolean區別
淡淡烟草味
淡淡烟草味 2017-07-05 10:56:40
0
4
1248

var a=new Boolean(false);
var b=false;
alert(a instanceof Boolean);
alert(b instanceof Boolean);
第一個彈出true
第二個彈出false
為什麼?不是太懂。

淡淡烟草味
淡淡烟草味

全部回覆(4)
阿神

JavaScript 裡的值有兩種:原始型別和參考型別(物件)。

false 是一個 boolean 原始類型的值,不是對象,所以 false instanceof Booleanfalse

同理 "foo" instanceof String 也是 false

檢查原始型別可以用 typeof

你會看到 typeof false 的值是 "boolean",注意是小寫「b」。

以及:

typeof Boolean"function"
Boolean instanceof Objecttrue

由於 JavaScript 會悄悄做型別轉換,很多時候會讓使用者疏忽這型別之間的差異。例如 var length = "hello world".length,就是把原始型別 string 轉換成了 String 物件的​​實例。

洪涛

雷雷

过去多啦不再A梦

instanceof 是用來判斷物件是否為某個建構子的實例
b顯然不是物件

女神的闺蜜爱上我

除object外,其他類型都屬於基本型,你這裡就是判斷是否為Boolean實例,屬於object,後面的基本型別就是false了,不是new出來的一個Boolean實例,結果當然也就是false了。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板