面向对象编程的判断方法

instenceof:检验原型对象与实例对象之间的关系

例如:alert(cat1 instanceof Cat); //true

   alert(cat2 instanceof Cat); //true

 Cat为原型对象,cat1和cat2为实例对象。

isPrototypeOf():判断某个proptotype对象和某个实例之间的关系。

alert(Cat.prototype.isPrototypeOf(cat1)); //true

 proptotype对象:每一个构造函数都有一个prototype属性,指向另一个对象。所有属性和方法,都会被构造函数的实例继承。

hasOwnProperty():判断某一个属性的由来(可以是本地属性,也可以是继承prototype对象的属性。

alert(cat1.hasOwnProperty("type")); // false

 in运算符

1)判断某个实例是否含有某个属性

alert("name" in cat1); // true

alert("type" in cat1); // true

 2)遍历某个对象的所有属性

for(var prop in cat1) { alert("cat1["+prop+"]="+cat1[prop]); }

 这里只是筛选出来了一些方法,具体用法还需要灵活运用。

猜你喜欢

转载自1445060302.iteye.com/blog/2421582