@1002522146
2017-12-08T05:09:12.000000Z
字数 740
阅读 455
JavaScript
我们创建的每一个函数都有一个prototype(原型)属性,这个属性指向函数的原型对象。
作用:让所有的对象实例共享它所包含的属性和方法。
每一个实例对象都有一个.__proto__。
对象的隐式原型的值为其对应的显示原型的值。
函数的prototype属性:在定义函数时自动添加,默认值时一个空对象。
对象的.__proto__的属性,创建函数时自动添加,默认值是构造函数的prototype属性值。
function Fn(){};
var fn = new Fn();
console.log(Fn.prototype==fn.__proto__) //true
instanceof 检查一个对象是否是一个构造对象的实例。
hasOwnProperty 检查自身是否具有指定名称的属性
面试题
console.log(Object.prototype instanceof Object);//false
console.log(Object.prototype instanceof Function);//false
console.log(Function.prototype instanceof Object);//true
console.log(Function.prototype instanceof Function);//false
console.log(Object instanceof Object);//true
console.log(Object instanceof Function);//true
console.log(Function instanceof Object);//true
console.log(Function instanceof Function);//true