欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-16 08:25:04
js对象是否拥有某属性 两种方式,但稍有区别 1,in 运算符 var obj = {name:'jack'}; alert('name' in obj);...

js对象是否拥有某属性

两种方式,但稍有区别

1,in 运算符

var obj = {name:'jack'};
alert('name' in obj); // --> true
alert('tostring' in obj); // --> true

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

 2,hasownproperty 方法

var obj = {name:'jack'};
obj.hasownproperty('name'); // --> true
obj.hasownproperty('tostring'); // --> false

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

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

当然重写原型后for in在ie9/firefox/safari/chrome/opera下是可见的。见:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!