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 相关文章推荐
捕获键盘事件(且兼容各浏览器)
Jul 03 Javascript
js取值中form.all和不加all的区别介绍
Jan 20 Javascript
javascript添加前置0(补零)的几种方法
Jan 05 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
Mar 09 Javascript
JS实现图片预加载之无序预加载功能代码
May 12 Javascript
微信小程序页面生命周期详解
Jan 31 Javascript
angularJs在多个控制器中共享服务数据的方法
Sep 30 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
Mar 28 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
Apr 29 Javascript
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 jQuery
JavaScript Window窗口对象属性和使用方法
Jan 19 Javascript
基于javascript实现移动端轮播图效果
Dec 21 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
wordpress之wp-settings.php
2007/08/17 PHP
php更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
PHP可变函数学习小结
2015/11/29 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
js实现点小图看大图效果的思路及示例代码
2013/10/28 Javascript
PHP7新特性简述
2017/06/11 Javascript
Linux Centos7.2下安装nodejs&npm配置全局路径的教程
2018/05/15 NodeJs
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
深入理解 TypeScript Reflect Metadata
2019/12/12 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
python验证码识别的示例代码
2017/09/21 Python
对tensorflow 的模型保存和调用实例讲解
2018/07/28 Python
python中dir()与__dict__属性的区别浅析
2018/12/10 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
python环境下安装opencv库的方法
2020/03/05 Python
Django Admin设置应用程序及模型顺序方法详解
2020/04/01 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
如何理解python对象
2020/06/21 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
甲方资料员岗位职责
2013/12/13 职场文书
会计工作心得体会
2014/01/13 职场文书
小学英语教学反思案例
2014/02/04 职场文书
《临死前的严监生》教学反思
2014/02/13 职场文书
保护环境建议书100字
2014/05/13 职场文书
保研专家推荐信范文
2015/03/25 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
Android自定义双向滑动控件
2022/04/19 Java/Android