[关闭]
@1002522146 2017-12-08T05:09:12.000000Z 字数 740 阅读 454

原型对象

JavaScript


我们创建的每一个函数都有一个prototype(原型)属性,这个属性指向函数的原型对象。
作用:让所有的对象实例共享它所包含的属性和方法。
每一个实例对象都有一个.__proto__
对象的隐式原型的值为其对应的显示原型的值。
函数的prototype属性:在定义函数时自动添加,默认值时一个空对象。
对象的.__proto__的属性,创建函数时自动添加,默认值是构造函数的prototype属性值。

  1. function Fn(){};
  2. var fn = new Fn();
  3. console.log(Fn.prototype==fn.__proto__) //true

instanceof 检查一个对象是否是一个构造对象的实例。
hasOwnProperty 检查自身是否具有指定名称的属性


面试题

  1. console.log(Object.prototype instanceof Object);//false
  2. console.log(Object.prototype instanceof Function);//false
  3. console.log(Function.prototype instanceof Object);//true
  4. console.log(Function.prototype instanceof Function);//false
  5. console.log(Object instanceof Object);//true
  6. console.log(Object instanceof Function);//true
  7. console.log(Function instanceof Object);//true
  8. console.log(Function instanceof Function);//true

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注