博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何确定 原型与实例之间的关系
阅读量:5242 次
发布时间:2019-06-14

本文共 850 字,大约阅读时间需要 2 分钟。

instanceof  可以用来确定实例与原型之间是否存在关系

只有当原型与实例有关系的时候 才能依赖于 instanceof 确定

function SpecialArray(){    //创建数组    var values = new Array();    //添加值    values.push.apply(values, arguments);    //添加方法    values.toPipedString = function(){        return this.join("|");    };    //返回数组    return values;}var colors = new SpecialArray("red", "blue", "green");console.log(colors instanceof SpecialArray)  //false

colors的实际构造函数为 SpecialArray 里面的 Array 虽然是通过new SpecialArray 创建的实例 但实际上 跟SpecialArray构造函数或构造函数的原型属性之间没有关系

因此不能依赖 instanceof 来确定对象

实例对象的可能同时与几个原型之间都关系 因为所有对象都继承了Object

console.log(colors instanceof Object); //trueconsole.log(colors instanceof Array); //true

由于原型链的关系,可以说 colors 是 Object、Array中任何一个类型的实例

判断原型与实例的关系还可以通过 isPrototypeOf() 方法

用法:

console.log(Object.prototype.isPrototypeOf(colors)) //true

 

转载于:https://www.cnblogs.com/Shin-Huai/p/5999684.html

你可能感兴趣的文章
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
查看>>
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>
Linux pipe函数
查看>>
java equals 小记
查看>>
爬虫-通用代码框架
查看>>
2019春 软件工程实践 助教总结
查看>>
YUV 格式的视频呈现
查看>>
Android弹出框的学习
查看>>
现代程序设计 作业1
查看>>
在android开发中添加外挂字体
查看>>
Zerver是一个C#开发的Nginx+PHP+Mysql+memcached+redis绿色集成开发环境
查看>>
多线程实现资源共享的问题学习与总结
查看>>
Learning-Python【26】:反射及内置方法
查看>>
torch教程[1]用numpy实现三层全连接神经网络
查看>>
java实现哈弗曼树
查看>>
转:Web 测试的创作与调试技术
查看>>