Skip to content

function.prototype

这里的 function,是构造函数。

js
function Rabbit(name) {
  this.name = name;
}

Rabbit.prototype = {
  // 这里主动设置 prototype
};

默认值

每个函数都有 "prototype" 属性。

js
function 一个函数() {}

一个函数.prototype.constructor === 一个函数; // true

// 可以简单理解为
一个函数.prototype = {
  constructor: 一个函数,
};

可以通过 obj.constructor 在没有构造函数的情况下,得到和其一样的数据结构。

js
const user = {};

new user.constructor();

prototype 是可修改的

js
function 一个函数() {}

// 不建议这样全局修改
一个函数.prototype = {};

// 这样更好
一个函数.prototype.setname = {};