{}是乙個不完全空的物件,因為他的原型鏈上還有object呢,而null就是完全空的物件,啥也沒有,原型鏈也沒有,所以null instanceof object === false;就更不用說了,它的原型鏈上還比{}多乙個array。
所以,純粹意義上初始化乙個空物件應該用null,{}更像是初始化物件,和new乙個沒有key的obejct是一樣的。
還有就是空陣列轉換成布林型別返回的是true:
因為陣列(不管是不是空的)屬於物件型別,物件型別轉為boolean型別(內部對應
toboolean()操作
)時都是true。所以判斷陣列一般使用的是判斷陣列的長度。 js當中null和 區別
是乙個不完全空的物件,因為他的原型鏈上還有object呢,而null就是完全空的物件,啥也沒有,原型鏈也沒有,所以null instanceof object false 就更不用說了,它的原型鏈上還比 多乙個array。所以,純粹意義上初始化乙個空物件應該用null,更像是初始化物件,和new乙個...
js中null和undefined區別
null是空物件引用,引用指向為空 undefined是只定義了引用 typeof null object typeof undefined undefined null undefined true null undefined false 值相同,但型別不同 均可以用null或者undefine...
js中null 的區別
var val text.value if val alert 請輸入內容哦!var val text.value if val null alert 請輸入內容哦!var val text.value if val alert 請輸入內容哦!這些意味著 空 的語句之前一直困擾著我,分不清啊!在一番...