首页 > 其他 > 详细

检测对象是否有某个属性(原型链检测和对象自身检测)

时间:2015-12-04 20:56:16      阅读:139      评论:0      收藏:0      [点我收藏+]

1、检测对象是否有某个属性(对象自身+原型链)  typeof

var a={
     x:1,
     cal:function(z){
         return this.x+this.y+z;}
};
var b=Object.create(a,{y:{value:3}});
//对象a是对象b的原型对象,且b元素添加自身属性y,属性y的值设为3.
typeof b.x+" "+typeof b.y+" "+typeof b.cal+" "+typeof b.get;
//输出 "number number function undefined"

 

2、只检测对象本身是否有某个属性(不回溯其原型链)  hasOwnProperty()

var a={
    x:1,
    cal:function(z){
         return this.x+this.y+z;
    }
};

var b=Object.create(a,{y:{value:3}});
//对象a是对象b的原型对象,且b元素添加自身属性y,属性y的值设为3.
b.hasOwnProperty(‘cal‘)+" "+b.hasOwnProperty(‘x‘)+" "+b.hasOwnProperty(‘y‘)+b.hasOwnProperty(‘z‘);
//输出  false false true false 

 

检测对象是否有某个属性(原型链检测和对象自身检测)

原文:http://www.cnblogs.com/pm-dongjian/p/5020272.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!