关于javascript:什么是原型链

2次阅读

共计 815 个字符,预计需要花费 3 分钟才能阅读完成。

原型链是 JavaScript 最根本的概念,之一。想要讲明确什么是原型链也不是那么容易的事件,MDN 上有一篇对于继承和原型链的文章,把原型链解释得很分明,然而官网文档不足总结,看完之后可能只有一个含糊的概念,还是不能清晰地解释出,什么是原型链。

那么,简略少字的总结他来了:

  1. 原型链 用来形容对象之间的关系
  2. prototype 是函数的非凡属性,指向它的原型对象[1]
  3. 原型 是对象的一个属性,指向其构造函数的 prototype 属性,即构造函数的原型对象[2]
  4. 简直所有对象都是位于原型链顶端的 Object 的实例,所以一个一般对象的原型就像一根 一样,最终会指向 Object 的原型对象
  5. 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
正文完
 0