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 相关文章推荐
基于Jquery的淡入淡出的特效基础练习
Dec 13 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
Sep 03 Javascript
js实现的map方法示例代码
Jan 13 Javascript
多个$(document).ready()的执行顺序实例分析
Jul 26 Javascript
js实现图片放大和拖拽特效代码分享
Sep 05 Javascript
js判断浏览器是否支持严格模式的方法
Oct 04 Javascript
微信小程序-拍照或选择图片并上传文件
Jan 06 Javascript
js实现功能比较全面的全选和多选
Mar 02 Javascript
js eval函数使用,js对象和字符串互转实例
Mar 06 Javascript
谈谈JS中的!!
Dec 07 Javascript
vue-router的两种模式的区别
May 30 Javascript
Vue项目环境搭建详细总结
Sep 26 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安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
2013/07/05 PHP
Zend Framework自定义Helper类相关注意事项总结
2016/03/14 PHP
php解决安全问题的方法实例
2019/09/19 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
2019/10/16 PHP
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
firefox火狐浏览器与与ie兼容的2个问题总结
2010/07/20 Javascript
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
node.js中的fs.unlink方法使用说明
2014/12/15 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
2016/08/08 Javascript
详解js中Json的语法与格式
2016/11/22 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
jQuery上传多张图片带进度条样式(DEMO)
2017/03/02 Javascript
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
Python splitlines使用技巧
2008/09/06 Python
python 图片验证码代码分享
2012/07/04 Python
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
python树莓派红外反射传感器
2019/01/21 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
基于pycharm 项目和项目文件命名规则的介绍
2021/01/15 Python
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
2015/03/17 HTML / CSS
Genny意大利官网:意大利高级时装品牌
2020/04/15 全球购物
工程专业毕业生自荐信范文
2013/12/25 职场文书
高中学生自我评价范文
2014/09/23 职场文书
全家福照片寄语怎么写?
2019/04/02 职场文书
详解Vue的列表渲染
2021/11/20 Vue.js