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的MessageBox
Dec 03 Javascript
Firefox div高度自适应
Apr 28 Javascript
js 表格隔行颜色
Dec 02 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
Sep 20 Javascript
JQuery的自定义事件代码,触发,绑定简单实例
Aug 01 Javascript
jQuery选择器基础入门教程
May 10 Javascript
jquery,js简单实现类似Angular.js双向绑定
Jan 13 Javascript
jQuery实现优雅的弹窗效果(6)
Feb 08 Javascript
js获取ip和地区
Mar 10 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
Oct 26 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
Jul 05 Javascript
微信小程序项目实践之主页tab选项实现
Jul 18 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
珊瑚虫IP库浅析
2007/02/15 PHP
PHP获取远程图片并保存到本地的方法
2015/05/12 PHP
PHP中的print_r 与 var_dump 输出数组
2016/06/13 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
javascript 类型判断代码分析
2010/03/28 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
给应用部分的js代码设定一个统一的入口
2014/06/15 Javascript
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
原生js封装的ajax方法示例
2018/08/02 Javascript
微信小程序数据分析之自定义分析的实现
2018/08/17 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
vue实现固定位置显示功能
2019/05/30 Javascript
[58:54]EG vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python异常处理总结
2014/08/15 Python
Python 访问限制 private public的详细介绍
2018/10/16 Python
Python爬虫之UserAgent的使用实例
2019/02/21 Python
将pip源更换到国内镜像的详细步骤
2019/04/07 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
python2使用bs4爬取腾讯社招过程解析
2019/08/14 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
Python with语句用法原理详解
2020/07/03 Python
发现两个有趣的CSS3动画效果
2013/08/14 HTML / CSS
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
房屋转让协议书范本
2014/04/11 职场文书
扬尘污染防治方案
2014/06/15 职场文书
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
超市收银员岗位职责
2015/04/07 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis
MySQL数据库必备之条件查询语句
2021/10/15 MySQL