JS构造函数的原型属性与它的原型之间的区别

时间:2015-03-12 21:44:33

标签: javascript

构造

function Team (type) {
  this.type = type;
}

//this will output this empty object inherited from Object.property
console.log(Team.prototype);
-> Team {}

//this one outputs nothing in my console
console.log(Object.getPrototypeOf(Team));
//is it inheriting from this one, the one for all functions?
-> Function.prototype //??

.prototype属性和Object.getPrototypeOf之间有什么区别? 除了存储属性之外,Function.prototype(所有函数和构造函数都继承自的原型)做了什么?

1 个答案:

答案 0 :(得分:2)

Team是一个函数,因此它继承了Function.prototype的所有属性。 Function也是(继承自)object,因此它具有来自Object.prototype.的所有属性。但是,Object.getPrototypeOf是一个"静态"对象的方法,所以没有继承。

Object.getPrototypeOf(Team)指向与Function.prototype相同的对象。 Team.getPrototypeOf未定义。