作家
登录

JavaScript isPrototypeOf和hasOwnProperty使用区别

作者: 来源:www.28hudong.com 2013-03-30 01:49:40 阅读 我要评论

1、isPrototypeOf 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");

  推荐阅读

  Jquery 实现Tab效果 思路是js思路

复制代码 代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>>>>详细阅读


本文标题:JavaScript isPrototypeOf和hasOwnProperty使用区别

地址:http://www.17bianji.com/kaifa2/JS/26973.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)