如果您需要创建大量方法,那么使用原型作为方法是有好处的,那么当您使用在构造函数中关闭“this”的方法创建对象时,您是否会获得相同的效果和好处?
请参阅以下代码:
(function(){
var Planet = function(){
var self = this;
var API = {
publicInterfaceMethodA:function(){
self.privateProtoMethodA();
},
publicInterfaceMethodB:function(){}
};
return API;
};
Planet.prototype = {
privateProtoMethod:function(){ },
privateProtoMethodA:function(){ },
privateProtoMethodB:function(){ },
privateProtoMethodC:function(){ },
privateProtoMethodD:function(){ },
privateProtoMethodE:function(){ }
};
var mars = new Planet();
}());
假设我在原型上有 100 个“私有”方法,对于我创建的每个实例,我只想公开这几个公共 api 方法,但我想保留将原型用于内部方法的好处,这样我就不会“复制”为每个创建的实例提供100 个“this”方法。
据我所知,这不是人们通常的做法,我是否在这里遗漏了一些东西,或者您是否获得了相同的好处而不在构造函数中返回“this”并暴露整个原型?
谢谢