JavaScript:isPrototypeOf和hasOwnProperty
2010-03-03 17:00
633 查看
1、isPrototypeOf
isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的原型链中,是则返回true,否则返回false。
格式如下:
object1是一个对象的实例;
object2是另一个将要检查其原型链的对象。
原型链可以用来在同一个对象类型的不同实例之间共享功能。
如果 object2 的原型链中包含object1,那么 isPrototypeOf 方法返回 true。
如果 object2 不是一个对象或者 object1 没有出现在 object2 中的原型链中,isPrototypeOf 方法将返回 false。
使用举例如下:
2、hasOwnProperty
hasOwnProperty判断一个对象是否有名称的属性或对象,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
如果该属性或者方法是该 对象自身定义的而不是器原型链中定义的 则返回true;否则返回false;
格式如下:
判断proName的名称是不是object对象的一个属性或对象。使用举例如下:
isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的原型链中,是则返回true,否则返回false。
格式如下:
object1.isPrototypeOf(object2);
object1是一个对象的实例;
object2是另一个将要检查其原型链的对象。
原型链可以用来在同一个对象类型的不同实例之间共享功能。
如果 object2 的原型链中包含object1,那么 isPrototypeOf 方法返回 true。
如果 object2 不是一个对象或者 object1 没有出现在 object2 中的原型链中,isPrototypeOf 方法将返回 false。
使用举例如下:
var re = /^\s*/; // 这里定义一个正则表达式对象 // 这里检查RegExp是不是re的原形链对象,返回true var bIsptt = RegExp.prototype.isPrototypeOf(re);
2、hasOwnProperty
hasOwnProperty判断一个对象是否有名称的属性或对象,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
如果该属性或者方法是该 对象自身定义的而不是器原型链中定义的 则返回true;否则返回false;
格式如下:
object.hasOwnProperty(proName);
判断proName的名称是不是object对象的一个属性或对象。使用举例如下:
// 得到false, 因为不能检测原型链中的属性 var bStr = "Test String".hasOwnProperty("split"); // String对象的原型上本来就有这个属性,自然返回true var bStr1 = String.prototype.hasOwnProperty("split"); // 返回true,因为不是检测原型中的属性 var bObj = ({fnTest:function(){}}).hasOwnProperty("fnTest");
相关文章推荐
- JavaScript中prototype、constructor、hasOwnProperty()、isPrototypeOf()学习笔记
- javascript--hasOwnProperty()+isPrototypeof()+in方法
- JavaScript中的constructor、instanceof、isPrototypeOf、typeof以及hasOwnProperty
- 深入解析hasOwnProperty与isPrototypeOf
- JavaScript isPrototypeOf和hasOwnProperty使用区别
- javascript中的hasOwnProperty和isPrototypeOf
- 理解JAVASCRIPT 中hasOwnProperty()和isPrototypeOf的作用
- javascript instanceof、isPrototypeOf、hasOwnProperty、in的使用
- javascript中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
- JavaScript中的hasOwnProperty和isPrototypeOf方法使用实例
- hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()的用法
- JavaScript isPrototypeOf和hasOwnProperty使用区别
- javascript 对象及原型继承有关的属性:constructor、prototype、isPrototypeOf、instanceof、in 、hasOwnProperty 等等
- instanceof() VS isPrototypeOf() hasOwnProperty() VS propertyIsEnumerable()
- JavaScript isPrototypeOf和hasOwnProperty使用区别
- javascript中的hasOwnProperty和isPrototypeOf
- hasOwnProperty(),propertyIsEnumerable( ) ,isPrototypeOf( )
- hasOwnProperty和isPrototypeOf方法使用
- JavaScript中的函数hasOwnProperty()和isPrototypeOf()的一些理解
- javascript 对象及原型继承有关的属性:constructor、prototype、isPrototypeOf、instanceof、in 、hasOwnProperty 等等