js检测对象中是否存在某个属性
使用in关键字
var obj = {x:1}"x" in obj ???//true 自身属性"j" in obj ???//false 自身没有原型也没有"toString" in obj ???//true ?原型上的属性
如果是原型链上的属性,判断也为true
使用hasOwnProperty
var obj = {x:1}obj.hasOwnProerty("x") ???//true ??自身属性obj.hasOwnProerty("y") ???//false ?自身没有原型也没有obj.hasOwnProperty("toString") ???//false ?原型上的属性
使用undefined判断
var o={x:1};o.x!==undefined; ???????//trueo.y!==undefined; ???????//falseo.toString!==undefined ?//true
该方法存在一个问题,如果属性的值就是undefined的话,该方法不能返回想要的结果,如下。
var o={x:undefined};o.x!==undefined; ???????//false,属性存在,但值是undefinedo.y!==undefined; ???????//falseo.toString!==undefined ?//true
【js】--------------判断一个对象是否有某个属性-------------【劉】
原文地址:https://www.cnblogs.com/lstcon/p/10345371.html