我坚持这个:
var Names = function (name,integer) {
this.name = name;
this.integer = integer;
};
var Discount = {
applyDiscount: function(person) {
console.log("person name is: " + person); //Eve
console.log("person integer is: " + person["integer"]); //undefined
console.log("person integer is: " + Eve["integer"]); // 23
}
};
var Eve = new Names("Eve Something", 23);
Discount.applyDiscount("Eve");
当我尝试获取Eve.integer
值时(使用person
参数) - 我已获得undefined
。
为什么person["integer"]
在这种情况下不起作用?
答案 0 :(得分:3)
您将字符串 "Eve"
传递给函数,而不是变量Eve
指向的对象。删除引号。
答案 1 :(得分:0)
需要使用Object,而不是字符串:
Discount.applyDiscount(Eve);