javascript - JS构造函数的原型(prototype)属性和它的原型(prototype)之间的区别

标签 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(所有函数和构造函数都继承自的那个)原型(prototype)还有什么作用?

最佳答案

Team 是一个函数,因此它继承了 Function.prototype 的所有属性。 Function 也是一个(继承自)object,因此它具有 Object.prototype. 的所有属性。但是,Object.getPrototypeOf 是 Object 上的“静态”方法,因此它不是继承的。

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

关于javascript - JS构造函数的原型(prototype)属性和它的原型(prototype)之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29020806/

相关文章:

javascript - 如何在保留非数字元素的值的同时划分数组中的数字元素

javascript - AppendChild 链接与 onClick 功能

javascript - 合并 json 对象并保留重复键

javascript - 使用 jQuery 选择特定的 contenteditable div

javascript - 如何使用 Prop 字符串将值传递给静态查询?

javascript - 可变乘数

javascript - PHP 中的图像和可见性

javascript - 使用 javascript 调整图像大小并将其保持在原始位置

javascript - 在 Google 堆积图中添加并显示单列中的列值

javascript - 无法运行 window.URL.createObjectURL(blob) 来显示 .png 文件