1.instanceOf原理javascript
检测右边构造函数的prototype是否在左边对象的原型链上,在返回true,不在返回falsejava
例:function Persion(name,age){函数
this.name = name;this
this.age = age;prototype
} ; 对象
let p = new Persion()blog
console.log( p instanceOf Persion ) //trueip
对象p的原型链为:p.__proto__ == Persion.prototype Persion.prototype .__proto__ == Object.prototype Object.prototype.__proto__ == null原型链
2.new关键字原理原型
当执行代码new Persion()时,会进行如下操做:
伪代码实现以下:
let obj = {}; obj.__proto__ = Persion.prototype; Persion.call(obj, 'jake', 30); return obj;