判断JS对象是否拥有某种属性的两种方式
更新时间:2013年12月02日 15:09:38 作者:
这篇文章主要介绍了判断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下是可见的。见:for in的缺陷
相关文章
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件
什么是Node.js?还服务器端javascript?对于这个概念我在这篇文章不做解释,可以自己去搜索了解下,服务器端js不是新技术,只是最近的node.js的火爆让他爆发了,我会在以后的文章里解释什么是node.js。2011-06-06
JavaScript实现焦点进入文本框内关闭输入法的核心代码
这篇文章给大家分享js实现焦点进入文本框内关闭输入法,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下吧2017-09-09
浅析JavaScriptSerializer类的序列化与反序列化
本篇文章主要介绍了JavaScriptSerializer类 对象序列化与反序列化的方法、属性以及实例代码,有需要的朋友可以参考一下2016-11-11


最新评论