针对自身属性来判断

// 利用obj.hasOwnProperty来判断// 这种方法可以规避不可遍历的属性var obj = Object.create({});Object.defineProperty(obj, "foo", { value: "bar" });if(obj.hasOwnProperty('foo')){//存在}else{}//obj.hasOwnProperty只能网络自身属性//无法网络原型上的属性Object.prototype.a = 1if(obj.hasOwnProperty('a')){}else{//不存在}

利用in判断属性(无原型链和遍历属性限定)

// 利用in运算符来判断// 这种方法可以判断自身或者原型上的属性,利用范围最广,无限制var obj = Object.create({});Object.defineProperty(obj, "foo", { value: "bar" });if('foo' in obj){//存在}else{}Object.prototype.a = 1if('a' in obj){//存在}else{}

JSP对象存在的范围JS 断定自身属性断定对象属性是否存在的几种办法 SQL