我有一个名为getComponent
的对象原型的函数,它返回this.components[name]
function Foo()
{
this.components = {"Scripts": [...], "Sprites": [...], "States": {...}, etc };
}
Foo.prototype.getComponent = function(name)
{
return this.components[name];
}
然后我有一些代码可以获取组件并将其设置为其他内容......
var foo = new Foo();
foo.getComponent("Sprites") = [];
这显然会提升Uncaught ReferenceError: Invalid left-hand side in assignment
。
是否有设置返回值的值?
我不想直接访问对象变量:foo.components.Sprites = []
。
提前致谢,
大卫
答案 0 :(得分:2)
没有
您可以为变量,常量和对象的属性赋值。
函数返回一个值。它永远不会返回变量,常量或属性(即使它读取其中一个来获取值)。
或者:
setComponent
方法,该方法接受两个参数,并将第二个参数的值分配给属性。component
并让它采用可选的第二个参数,然后根据传递的参数数量,充当setComponent
或getComponent
。