js原型链
2019-04-25 06:51:59来源:博客园 阅读 ()
js 原型链,其实就是对象,方法的一些关系,首先要明确一点,对象实例是没有prototype,函数才有prototype
废话不多说我们一些console一下都是写什么东西
/* 首先我们创建一个对象 */ let obj = {} /* 上面的和下面是一样的,都是一个空对象 */ let obj2 = new Object() console.log(obj.prototype) // 输出undefined /* 证明对象实例确实是没有prototype的 */ /* 让后我们查看一下obj.__proto__ */ console.log(obj.__proto__)/* 行吧输出了一对东西无法判断 */ /* 我们猜测一下 */ console.log(obj.__proto__===Object.prototype) //输出true /* 上面一行 完全等于,证明这是一个东西*/ /* 那Object.__proto__ 又指向的啥,打印一下 */ console.log(Object.__proto__) // ƒ () { [native code] } /* 有点像一个函数 */ /* 猜测一下 */ console.log(Object.__proto__ === Function.prototype) //输出true /* 原来指向的是这里 */ /* 那我们继续看一下 Object.prototype.__propo__ 是啥*/ console.log(Object.prototype.__proto__) //输出 null /* 到null了,证明到头了,没东西了 */ /* 那上面就是对象的一整条原型链了 */ /* 那下面我们看一下函数的 */ /* 首先看一下构造函数 */ function Person () { name: 'cz' } let p1 = new Person() /* p1是一个对象,根据上面的他只有__proto__ */ console.log(p1.__proto__) // constructor ƒ Person() console.log(p1.__proto__ === Person.prototype) //true /* 下面就是一个正常的函数了 */ /* Person 就是一个函数 */ console.log(Person.__proto__) // ƒ () { [native code] } /* 上面这个看着有点像,挺像,之前,Object.__proto__ */ /* 那就不用考虑了 */ console.log(Person.__proto__ === Function.prototype) //ture /* 再看一下 Function.__proto__*/ console.log(Function.__proto__) //ƒ () { [native code] } /* 然是这样,Funtion的显示原形和隐式原形相等 */ console.log(Function.__proto__.__proto__) /* 输出,constructor: ƒ Object() 有点意思*/ /* 上面的不是 Function.__proto__.__proto__ === Function.prototype.__proto__*/ /* 那最终是不是有道对象上去了 */ console.log(Function.prototype.__proto__ === Object.prototype) //输出true
function 最终又到Object,不得不说一切都对象
总结一下
重点重点,实例对象没有prototype,
最终Object.prototype.__proto__ 指向的null
Function.prototype === Function.__proto__
原文链接:https://www.cnblogs.com/czkolve/p/10760002.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 网站接入QQ登录的两种方法 2020-01-07
- 原型相关的知识点-new的实现原理 2019-08-14
- js原型链 2019-08-14
- Ajax介绍 2019-05-23
- JSON简介 2019-05-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash