我正在構建一個插件,它接受兩個參數 - 高度和寬度。這個插件的消費者可能有一個矩形對象,或方形物體,或多邊形物體,等他們的寬度/高度的名稱可能是不同的:通過僅傳遞屬性來修改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