javascript中的prototype和__proto__
在javascript中函数也是对象,那么构造函数和对象是一种什么样的关系呢?
在Object函数上有个实例方法hasOwnProperty,可以看到属性是否属于该对象,那么Object构造函数也想使用这个方法可以吗?当然没问题,但是那是为什么呢?
当Object调用hasOwnProperty时,首先看自身有没有,也就是Object的实例方法中有没有,没有,就会根据__proto__找到Function的prototype,Function的prototype也没有,继续找,就是Function.prototype.__proto__,也就回到了Object的Prototype,所以可以调用是当然的.
Object.prototype.__proto__ === null
Function.prototype.__proto__ === Object.prototype
Object.__proto__ === Function.__proto__ === Function.prototype
class A{}
const a = new A
a.__proto__ === A.prototype
A.__proto__ === Function.prototype
A.prototype.__proto__ === Object.prototype

浙公网安备 33010602011771号