JavaScript isPrototypeOf和hasOwnProperty使用区别


Posted in Javascript onMarch 04, 2010

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");
Javascript 相关文章推荐
js setattribute批量设置css样式
Nov 26 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
Jan 09 Javascript
JS批量修改PS中图层名称的方法
Jan 26 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
Mar 25 Javascript
javascript中不易分清的slice,splice和split三个函数
Mar 29 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
May 25 Javascript
jQuery获取table行数并输出单元格内容的实现方法
Jun 30 Javascript
JS操作xml对象转换为Json对象示例
Mar 25 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
Nov 27 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
Nov 30 Javascript
在Vant的基础上封装下拉日期控件的代码示例
Dec 05 Javascript
js实现无缝轮播图插件封装
Jul 31 Javascript
AppBaseJs 类库 网上常用的javascript函数及其他js类库写的
Mar 04 #Javascript
JavaScript类和继承 constructor属性
Mar 04 #Javascript
爆炸式的JS圆形浮动菜单特效代码
Mar 03 #Javascript
js 编写规范
Mar 03 #Javascript
jquery validation插件表单验证的一个例子
Mar 03 #Javascript
Jquery 实现Tab效果 思路是js思路
Mar 02 #Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
Mar 02 #Javascript
You might like
php简单的会话类代码
2011/08/08 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
PHP实现的简单异常处理类示例
2017/05/04 PHP
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
2013/04/15 Javascript
jquery 滚动条事件简单实例
2013/07/12 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
微信小程序 数据访问实例详解
2016/10/08 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
2016/11/07 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
AngularJS实现注册表单验证功能
2017/10/16 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
2018/03/12 Javascript
通过扫小程序码实现网站登陆功能
2019/08/22 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
JS实现超级好看的鼠标小尾巴特效
2020/12/01 Javascript
Python greenlet实现原理和使用示例
2014/09/24 Python
python中子类继承父类的__init__方法实例
2016/12/15 Python
Python if语句知识点用法总结
2018/06/10 Python
python实现飞机大战微信小游戏
2020/03/21 Python
python 基于opencv 实现一个鼠标绘图小程序
2020/12/11 Python
python接口自动化框架实战
2020/12/23 Python
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
Topshop美国官网:英国快速时尚品牌
2019/05/16 全球购物
婚礼答谢宴主持词
2014/03/14 职场文书
爱护公物标语
2014/06/24 职场文书
安全生产年活动总结
2014/08/29 职场文书
安全月宣传标语
2014/10/07 职场文书
测量员岗位职责
2015/02/14 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
教师听课学习心得体会
2016/01/15 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
Python基础学习之奇异的GUI对话框
2021/05/27 Python
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python