我有一个像这样的
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的属性.
在此先感谢您的帮助 – 我很感激!