1. 程式人生 > >JS中怎樣判斷一個元素是不是物件

JS中怎樣判斷一個元素是不是物件

JS中,判斷物件型別時存在一個bug,那就是null型別也是object,那麼如何精準判斷一個元素是物件呢。

  • 方法一:typeof
function isObj(val) {
    return val !== null && typeof(val) === 'object';
}
  • 方法二: instanceof
    • instanceof,用來判斷例項是否屬於某種型別
var obj = {};
console.log(obj instanceof Object);    // true;

var objNull = null;
console.log(objNull instanceof Object);    // false;
  • 方法三:constructor,判斷例項的建構函式是否為Object
var obj = {};
console.log(obj.constructor === Object)    // true

var objNull = null;
console.log(obj.constructor === Object)    // Error