1
0
Fork 0
Browse Source

vault backup: 2022-07-01 15:03:27

master
YuJian 2 years ago
parent
commit
77cc8dd879
  1. 8
      随时随地/深入 JavaScript 原型思考.md

8
随时随地/深入 JavaScript 原型思考.md

@ -10,6 +10,12 @@ JavaScript 是一门基于原型的语言,它靠着原型这一个特殊的概
prototype 是函数独有的属性,无论什么时候只要创建了新的函数,就会根据特定的规则为该函数创建一个 prototype 属性,这个属性指向一个私有的对象,这个空间也有着一个 constructor 属性指回该函数,同时这个对象也具有 \_\_proto\_\_ 属性指向 Object.prototype prototype 是函数独有的属性,无论什么时候只要创建了新的函数,就会根据特定的规则为该函数创建一个 prototype 属性,这个属性指向一个私有的对象,这个空间也有着一个 constructor 属性指回该函数,同时这个对象也具有 \_\_proto\_\_ 属性指向 Object.prototype
补充:并非所有对象都会具有 \[\[prototype\]\] 属性,你可以用 Object.cre 当一个对象通过 new 函数被实例化出来,那么这个对象的 \[\[prototype\]\] 属性也就是 \_\_proto\_\_ 会被指向该函数的 prototype 属性,这是 JavaScript 实现面对对象的基石
补充:并非所有对象都会具有 \[\[prototype\]\] 属性,你可以用 Object.create(null) 方法创建出一个没有原型的对象
![[深入 JavaScript 原型思考.png]] ![[深入 JavaScript 原型思考.png]]
参考文档:
- [\_\_proto\_\_ 和 prototype 到底有什么区别](https://juejin.cn/post/6844903869428793358)
- [所有javascript对象都有prototype还是仅仅函数对象有prototype?](https://segmentfault.com/q/1010000007980024)
-
Loading…
Cancel
Save