您的位置:首页 > Web前端 > JavaScript

js判断对象是否存在的三种方法

2016-12-29 21:52 721 查看
1.in 可以检测自有属性和继承属性

var o={x:1}
'x' in o  //返回true
'y'in o //返回false
'toString' in o //返回true,因为对象o继承了原型的toString属性


2.hasownproperty() 只能检测自有属性

var o={x:1};
o.hasownproperty('x')  //返回true
o.hasownproperty('y')  //返回false
o.hasownproperty('toString') //返回true,因为对象o继承了原型的toString属性


3.使用!==检测

var o={x:1}
o.x !== undefined  //返回true
o.y !== undefined //返回false
o.toString !== undefined //返回true,因为对象o继承了原型的toString属性


使用!==需要注意对象的属性值不能设置为undefined

注意必须是!==,而不是!= 因为!=不区分undefined和null

var o={x:undefined  }
o.x !== undefined  //返回false
o.y !== undefined //返回false


参考javascript权威指南第6版
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript 对象 属性