我有一个带有多种方法的 javascript 对象。但是我注意到定义方法的方式有些不一致。
这是对象:
function MenuObject(containerId, skin) {
this.id = containerId;
this.something = something2;
.
.
.
this.anotherThing = anotherThing2;
this.setSkin = function(skin) { //We have a function here
//body...
{
}
MenuObject.prototype.getTopLevelPolygon = function() //Another function.
{
var p = this.something3;
//Method body goes here...
}
一些函数的定义类似于this.functionName = function(),其他的类似于MenuObject.prototype.functionName = function()
我只是想知道为什么不属于 MenuObject 的所有功能都定义为 MenuObject.prototype.functionName = function() ?