isPrototypeOf和hasOwnProperty的区别
类别:Web前端 浏览量:1628
时间:2014-8-19 isPrototypeOf和hasOwnProperty的区别
isPrototypeOf和hasOwnProperty的区别一、isPrototypeOf
isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的原型链中,是则返回true,否则返回false。
格式如下:
object1.isPrototypeOf(object2);
object1是一个对象的实例;
object2是另一个将要检查其原型链的对象。
备注
1、原型链可以用来在同一个对象类型的不同实例之间共享功能。
2、如果 object2 的原型链中包含object1,那么 isPrototypeOf 方法返回 true。
3、如果 object2 不是一个对象或者 object1 没有出现在 object2 中的原型链中,isPrototypeOf 方法将返回 false。
二、hasOwnProperty
hasOwnProperty判断一个对象是否有名称的属性或对象,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
如果该属性或者方法是该 对象自身定义的而不是器原型链中定义的 则返回true;否则返回false;
格式如下:
object.hasOwnProperty(proName);
判断proName的名称是不是object对象的一个属性或对象。
三、isPrototypeOf和hasOwnProperty的实例
function siteAdmin(nickName,siteName){ this.nickName=nickName; this.siteName=siteName; } siteAdmin.prototype.showAdmin = function() { alert(this.nickName+"是"+this.siteName+"的站长!") }; siteAdmin.prototype.showSite = function(siteUrl) { this.siteUrl=siteUrl; return this.siteName+"的地址是"+this.siteUrl; }; var matou=new siteAdmin("愚人码头","WEB前端开发"); var matou2=new siteAdmin("愚人码头","WEB前端开发"); matou.age="30"; // matou.showAdmin(); // alert(matou.showSite("http://www.css88.com/")); alert(matou.hasOwnProperty("nickName"));//true alert(matou.hasOwnProperty("age"));//true alert(matou.hasOwnProperty("showAdmin"));//false alert(matou.hasOwnProperty("siteUrl"));//false alert(siteAdmin.prototype.hasOwnProperty("showAdmin"));//true alert(siteAdmin.prototype.hasOwnProperty("siteUrl"));//false alert(siteAdmin.prototype.isPrototypeOf(matou))//true alert(siteAdmin.prototype.isPrototypeOf(matou2))//true
标签:javascript
您可能感兴趣
- ASP.NET使用JavaScriptSerializer实现序列化与反序列化
- js实现div(javascript拖曳互换div的位置实现示例)
- js 定时切换图片(JavaScript定时器实现无缝滚动图片)
- Javascript中apply、call、bind
- Javascript操作DOM
- 用javascript设计五子棋(JavaScript实现网页版五子棋游戏)
- Javascript计算密码的强度
- jquery五子棋javascript(原生JavaScript实现简单五子棋游戏)
- javascript如何跨域
- javascript写计算器教程(基于JavaScript实现简易计算器)
- js搜索功能的实现(前端JavaScript实现本地模糊搜索功能的方法实例)
- javascript的执行原理(一文读懂JavaScript 中的延迟加载属性模式)
- javascript弹出菜单(Javascript实现简易导航栏)
- javascript数组实例扩展方法(JavaScript如何监测数组的变化)
- javascript如何操作文档元素(JavaScript操作元素实例大全)
- javascript函数的递归调用记得加上return
- 参考文献里期刊名称的写法,你知道吗(参考文献里期刊名称的写法)
- 硕博期刊 SCI SSCI CSSCI分不清 一文带你看懂主流期刊分类(硕博期刊SCISSCI)
- 辱华品牌新百伦官宣新代言人IU,个别粉丝希望get爱豆同款(辱华品牌新百伦官宣新代言人IU)
- 巅峰时期被爆床照,曾被选国民最讨厌女星,IU不为人知的黑历史(巅峰时期被爆床照)
- 每天1万吨牛奶倒进下水道,美国大萧条一幕重现(每天1万吨牛奶倒进下水道)
- 如何看待美国数十万加仑牛奶倒下水道 历史又重演了(如何看待美国数十万加仑牛奶倒下水道)
热门推荐
- python strip用法(Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析)
- webpack常用的配置(webpack-dev-server搭建本地服务器的实现)
- mysql 加锁处理分析(mysql死锁和分库分表问题详解)
- docker搭建私有dns域名解析(docker内网搭建dns使用域名访问替代ip:port的操作)
- 云服务器系统怎么选择(云服务器选择什么操作系统?)
- 织梦标签在哪里设置(织梦dedecms gbk站点转utf8之mip改造方案分享)
- 怎么用docker中的mysql连接数据库(解决Docker之mysql容器数据库更改不生效的问题)
- Jquery实现table表格行的添加、删除
- laravel 验证规则(Laravel中正确地返回HTTP状态码方法示例)
- mysql双向同步原理(详解MySQL的半同步)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9