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 相关文章推荐
javascript编程起步(第二课)
Feb 27 Javascript
javascript EXCEL 操作类代码
Jul 30 Javascript
关于全局变量和局部变量的那些事
Jan 11 Javascript
Javascript复制实例详解
Jan 28 Javascript
设置jQueryUI DatePicker默认语言为中文
Jun 04 Javascript
js前端面试题及答案整理(一)
Aug 26 Javascript
解析Javascript单例模式概念与实例
Dec 05 Javascript
原生javascript移动端滑动banner效果
Mar 10 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
Jun 19 Javascript
微信小程序自定义对话框弹出和隐藏动画
Jul 19 Javascript
通过js示例讲解时间复杂度与空间复杂度
Aug 06 Javascript
解决vue无法侦听数组及对象属性的变化问题
Jul 17 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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
linux下实现定时执行php脚本
2015/02/13 PHP
为你总结一些php信息函数
2015/10/21 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
Jquery:ajax实现翻页无刷新功能代码
2013/08/05 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
angular十大常见问题
2017/03/07 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
javaScript中"=="和"==="的区别详解
2018/03/16 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
简单了解vue中父子组件如何相互传递值(基础向)
2019/07/12 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
python获取网页状态码示例
2014/03/30 Python
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
python中的for循环
2018/09/28 Python
pandas通过字典生成dataframe的方法步骤
2019/07/23 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
护理自我鉴定范文
2013/10/06 职场文书
生物科学专业职业规划书范文
2014/02/11 职场文书
高中生职业规划范文
2014/03/09 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
活动宣传稿范文
2015/07/23 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
2016年党建工作简报
2015/11/26 职场文书
教育教学工作反思
2016/02/24 职场文书
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫