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 相关文章推荐
将光标定位于输入框最右侧实现代码
Dec 04 Javascript
jquery $.each() 使用小探
Aug 23 Javascript
angularJS中router的使用指南
Feb 09 Javascript
Vue.js如何优雅的进行form validation
Apr 07 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
Apr 20 Javascript
解决JS外部文件中文注释出现乱码问题
Jul 09 Javascript
jquery操作ul的一些操作笔记整理(干货)
Aug 31 jQuery
jQuery实现倒计时功能 jQuery实现计时器功能
Sep 19 jQuery
p5.js入门教程之键盘交互
Mar 19 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
May 24 Javascript
微信小程序(订阅消息)功能
Oct 25 Javascript
JS实现简易留言板(节点操作)
Mar 16 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
第十二节--类的自动加载
2006/11/16 PHP
PHP IF ELSE简化/三元一次式的使用
2011/08/22 PHP
PHP队列用法实例
2014/11/05 PHP
php简单防盗链实现方法
2015/07/29 PHP
javascript 特殊字符串
2009/02/25 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
js注意img图片的onerror事件的分析
2011/01/01 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
2015/10/22 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
基于jQuery实现文本框只能输入数字(小数、整数)
2016/01/14 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
基于JavaScript获取url参数2种方法
2020/04/17 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
微信小程序实现弹框效果
2020/05/26 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
python实现的解析crontab配置文件代码
2014/06/30 Python
Python中的错误和异常处理简单操作示例【try-except用法】
2017/07/25 Python
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
selenium3+python3环境搭建教程图解
2018/12/07 Python
python学生管理系统学习笔记
2019/03/19 Python
Python 3.8 新功能全解
2019/07/25 Python
Python封装成可带参数的EXE安装包实例
2019/08/24 Python
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
德购商城:德国进口直邮商城
2017/06/13 全球购物
中学教师教育感言
2014/02/21 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
学校实习推荐信
2015/03/27 职场文书
2015秋季开学演讲稿范文
2015/07/16 职场文书
2019新员工心得体会
2019/06/25 职场文书
2019客服个人年终工作总结范文
2019/07/08 职场文书
nginx容器方式反向代理实战
2022/04/18 Servers
MySQL池化框架学习接池自定义
2022/07/23 MySQL