是否可以这样做?
function getVariable(elem) {
return $scope.elem;
}
或者这个;
function getField(field) {
return data[0].field;
}
getField('price')
应返回等效于data[0].price
和
getVariable('id')
应该返回$scope.id
经过实验,我发现例如getField('price')
正在寻找函数中的data[0].field
- 而不是data[0].price
。
答案 0 :(得分:2)
在Javascript中使用点符号进行对象属性访问时,它会逐字地评估名称。正如您所发现的,它总是在寻找一个名为" field"或者" elem"。
如果需要括号语法,即:
function getField(fieldName) {
return data[0][fieldName];
}
与您的其他功能相同。
答案 1 :(得分:1)
试试这样:
(function(){
var data = {
'id' : 123,
'name' : 'Toyata Camarry 2009',
'price' : 14500
},
fxArgObject = function(field) {
return data[field];
};
var price = fxArgObject('price');
console.log(price);
})();