0
是否可以在JS中將對象元素用作函數中的參數?對象的元素作爲函數的參數
下面是一個例子,這是行不通的:
var someFunc = function(a, b) {
var items = {
a: 1,
b: 2
}
return items.a;
};
是否可以在JS中將對象元素用作函數中的參數?對象的元素作爲函數的參數
下面是一個例子,這是行不通的:
var someFunc = function(a, b) {
var items = {
a: 1,
b: 2
}
return items.a;
};
,你可以調用函數的方式,一個具有值「a」,但你正在使用錯誤的方式就可以得到價值從項目對象。 items.a
表示您試圖從總是返回1的項目訪問名爲'a'的項。使用項[a]訪問存儲在變量a中的項。
var someFunc = function(a, b) {
var items = {
a: 1,
b: 2
}
return items[a];
};
someFunc('a','b');
使用ES6,您可以使用computed property names。
var someFunc = function(a, b) {
return { [a]: 1, [b]: 2 };
};
console.log(someFunc('foo', 'bar'));
如果沒有可用的,你可以使用帶支架的符號作爲property accessor一個簡單的任務。
var someFunc = function(a, b) {
var temp = {};
temp[a] = 1;
temp[b] = 2;
return temp;
};
console.log(someFunc('foo', 'bar'));
你的意思是'項目[A]'?另外,函數params與'items'中的不同。 –
您目前正在將'items.a'設置爲'1'並返回'items.a',因此始終爲'1'。 'alert(someFunc())'會提醒'1',不管你傳遞給函數的是什麼。參數'a'從不使用。您是否打算將'items.a'設置爲此參數的值?在這種情況下,使用'items = {a:a,b:b};返回items.a;' –