javascript检测对象中是否存在某个属性判断方法

 我来答
华源网络
2022-11-11 · TA获得超过5579个赞
知道小有建树答主
回答量:2486
采纳率:100%
帮助的人:145万
展开全部

  检测对象中属性的存在与否可以通过几种方法来判断

   使用in关键字

  该方法可以判断对象的自有属性和继承来的属性是否存在

  代码如下:

  var o={x: };

  "x" in o; //true 自有属性存在

  "y" in o; //false

  "toString" in o; //true 是一个继承属性

   使用对象的hasOwnProperty()方法

  该方法只能判断自有属性是否存在 对于继承属性会返回false

  代码如下:

  var o={x: };

  o hasOwnProperty("x");    //true 自有属性中有x

  o hasOwnProperty("y");    //false 自有属性中不存在y

  o hasOwnProperty("toString"); //false 这是一个继承属性 但不是自有属性

   用undefined判断

  自有属性和继承属性均可判断

  代码如下:

  var o={x: };

  o x!==undefined; //true

  o y!==undefined; //false

  o toString!==undefined //true

  该方法存在一个问题 如果属性的值就是undefined的话 该方法不能返回想要的结果 如下

  代码如下:

  var o={x:undefined};

  o x!==undefined; //false 属性存在 但值是undefined

  o y!==undefined; //false

  o toString!==undefined //true

   在条件语句中直接判断

  代码如下:

  var o={};

lishixinzhi/Article/program/Java/JSP/201311/19890

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式