假设我有一个坐在对象内的数组,以及一个从用户指定的数组中删除项目的函数。
var warehouse{
shirts: [],
shorts: [],
deleteItem: function(itemType, itemNumber){
this.itemType.splice(itemNumber, 1);
}
}
所以,如果我这样做:
function('shirts', 0);
它应该删除'shirts'数组中的第一项。问题是,它告诉我itemType出现在undefined
答案 0 :(得分:6)
您应该使用bracket notation:
var warehouse = {
shirts: [1, 2, 3, 4],
shorts: [1, 2, 3, 4],
deleteItem: function(itemType, itemNumber){
this[itemType].splice(itemNumber, 1);
}
};
warehouse.deleteItem("shirts", 0);
console.log(warehouse);