我正在构建一个插件,它接受两个参数 - 高度和宽度。这个插件的消费者可能有一个矩形对象,或方形物体,或多边形物体,等他们的宽度/高度的名称可能是不同的:通过仅传递属性来修改JS对象的属性?
var square = {
width: 200,
height: 200
}
var rectangle = {
Width: 200,
tall: 200
}
var polygon = {
w: 200,
h: 200
}
我试图建立一个函数,接受宽度/高度参数并修改它们,以便更新父对象。事情是这样的:
var alterStuff = function (width, height){
width = 200;
height = 200;
};
var obj = {width: "28", height: "34"};
alterStuff(obj.width, obj.height);
alert(obj.width);
的目标是,消费者可以通过两种基本类型传递,以及alterStuff
功能将更新它们的对象。
什么模式可以用来实现这一目标?现在obj
属性没有被更新 - 我在警报中看到“28”,但我希望看到“200”而不传入对象,因为我不知道该对象上的属性名称是什么在所有情况下。
你有固定的一组属性名称,这里给出的三个,或者它可以是任何东西? – chelmerich
@chelmerich - 它可能是任何东西 – RobVious