js检测对象中是否存在某个属性

  • 使用in 关键字
var user={name:'123'};
'x' in user; // false
'name' in user; //true
'toString' in user; //true 
  • 使用对象的hasOwnProperty方法
var user={name:'123'}
user.hasOwnProperty("x");       //true,自有属性中有x
user.hasOwnProperty("y");       //false,自有属性中不存在y
user.hasOwnProperty("toString"); //false,这是一个继承属性,但不是自有属性
  • 使用undefinded判断
var user={name:'123'};
user.name!==undefined;        //true
user.y!==undefined;        //false
user.toString!==undefined  //true
// 自有和继承属性都可以判断,但也会存在一个问题{name:undefinded}该属性是存在的,不过值为undefinded.
原文地址:https://www.cnblogs.com/cosyer/p/8472965.html