对象 属性 来自方法参数时未定义
Object property is undefined when it comes from method parameter
我坚持这个:
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"]
在这种情况下不起作用?
您将 字符串 "Eve"
传递给函数,而不是变量 Eve
指向的对象。删除引号。
需要使用对象,而不是字符串:
Discount.applyDiscount(Eve);
我坚持这个:
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"]
在这种情况下不起作用?
您将 字符串 "Eve"
传递给函数,而不是变量 Eve
指向的对象。删除引号。
需要使用对象,而不是字符串:
Discount.applyDiscount(Eve);