共计 815 个字符,预计需要花费 3 分钟才能阅读完成。
原型链是 JavaScript 最根本的概念,之一。想要讲明确什么是原型链也不是那么容易的事件,MDN 上有一篇对于继承和原型链的文章,把原型链解释得很分明,然而官网文档不足总结,看完之后可能只有一个含糊的概念,还是不能清晰地解释出,什么是原型链。
那么,简略少字的总结他来了:
- 原型链 用来形容对象之间的关系
- prototype 是函数的非凡属性,指向它的原型对象[1]
- 原型 是对象的一个属性,指向其构造函数的 prototype 属性,即构造函数的原型对象[2]
- 简直所有对象都是位于原型链顶端的 Object 的实例,所以一个一般对象的原型就像一根 链一样,最终会指向 Object 的原型对象
- Object 的原型对象也有原型,指向 null,依据定义,null 没有原型,所以原型链的 起点 就是 null [3]
show me ur code:
[1]:咱们能够看看字符串对象的例子
执行代码
console.log(String);
console.log(String.prototype);
能够失去相似的输入
ƒ String() { [native code] }
String {"", constructor: ƒ, anchor: ƒ, big: ƒ, blink: ƒ, …}
[2]:持续看字符串的例子
let str = new String('str');
console.log(str);
console.log(Object.getPrototypeOf(str));
console.log(Object.getPrototypeOf(str) === String.prototype);
能够失去相似的输入
String {"str"}
String {"", constructor: ƒ, anchor: ƒ, big: ƒ, blink: ƒ, …}
true
[3]:间接拜访一下 Object
原型对象的原型
console.log(Object.getPrototypeOf(Object.prototype));
null
正文完
发表至: javascript
2021-01-13