我有一个像这样的
JavaScript对象 – 使用闭包来模拟私有vs公共函数/变量:
var myCoolObject = function(x,y) { var prop1 = "a cool prop1 value"; var negX = x * -1; var negY = y * -1; var xyProduct = x * y; return { PublicProp1: prop1,getXYProduct: function() { return xyProduct; },getNegX: function() { return negX; },getNegY: function() { return negY; } } }
我将创建这个对象的大约4000个实例,从我正在阅读的内容中添加函数将比我上面添加它们更有效(因为在我的示例中,每个实例都将拥有它自己的getXYProcust(),getNegX ()和getNegY()函数.
我的问题是双重的 – 我上面的方法真的“低效”吗?我意识到低效率是一个相对的术语 – 但这是我可能会注意到的.如果它效率低下,我该如何将这些函数添加到myCoolObject的原型中?我尝试了以下方法:
myCoolObject.prototype.protoProp = "pppp"; myCoolObject.prototype.getAtMeBro = function () { return "get at me bro"; }; var myInstance = new myCoolObject(5,10);
但是当我检查它时,protoProp和’getAtMeBro()’都不是myInstance的属性.
在此先感谢您的帮助 – 我很感激!