判断JS对象是否拥有某属性

两种方式,但稍有区别

1,in 运算符

 
var obj = {name:'jack'};  

2 alert('name' in obj); // --> true  

3 alert('toString' in obj); // --> true<BR>

可看到无论是name,还是原形链上的toString,都能检测到返回true。


 

2,hasOwnProperty 方法

var obj = {name:'jack'};  

2 obj.hasOwnProperty('name'); // --> true  

3 obj.hasOwnProperty('toString'); // --> false<BR>

原型链上继承过来的属性无法通过hasOwnProperty检测到,返回false。

需注意的是,虽然in能检测到原型链的属性,但for in通常却不行。

文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:  
评论: 0 | 引用: 0 | 查看次数: 799
发表评论
用户名:
密 码: 游客发言不需要密码.
验证码: 验证码
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 500 字 | HTML代码允许 关闭 | 评论可修改 关闭