Javascript 对象属性来自方法参数时未定义

Javascript 对象属性来自方法参数时未定义,javascript,javascript-objects,Javascript,Javascript Objects,我被困在这个问题上: var name=函数(名称,整数){ this.name=名称; this.integer=整数; }; var折扣={ applyDiscount:功能(个人){ console.log(“人名为:“+person);//Eve console.log(“person integer是:“+person[“integer”]”);//未定义 log(“person integer是:“+Eve[“integer”]);//23 } }; var Eve=新名称(“Eve

我被困在这个问题上:

var name=函数(名称,整数){
this.name=名称;
this.integer=整数;
};
var折扣={
applyDiscount:功能(个人){
console.log(“人名为:“+person);//Eve
console.log(“person integer是:“+person[“integer”]”);//未定义
log(“person integer是:“+Eve[“integer”]);//23
}
};
var Eve=新名称(“Eve某物”,23);
折扣。应用贴现(“Eve”);
当我尝试获取
Eve.integer
值(使用
person
参数)时,我得到了
未定义的


为什么
person[“integer”]
在这种情况下不起作用

您将字符串
“Eve”
传递给函数,而不是变量
Eve
指向的对象。删除引号。

您正在将字符串“Eve”
传递给函数,而不是变量
Eve
指向的对象。删除引号。

您正在将字符串“Eve”
传递给函数,而不是变量
Eve
指向的对象。删除引号。

您正在将字符串“Eve”传递给函数,而不是变量
Eve
指向的对象。删除引号。

需要使用对象,而不是字符串:

Discount.applyDiscount(Eve);

需要使用对象,而不是字符串:

Discount.applyDiscount(Eve);

需要使用对象,而不是字符串:

Discount.applyDiscount(Eve);

需要使用对象,而不是字符串:

Discount.applyDiscount(Eve);

通常的JavaScript编码风格是为构造函数函数保留以大写字母开头的标识符
Eve
应该是
Eve
。通常的JavaScript编码风格是为构造函数保留以大写字母开头的标识符
Eve
应该是
Eve
。通常的JavaScript编码风格是为构造函数保留以大写字母开头的标识符
Eve
应该是
Eve
。通常的JavaScript编码风格是为构造函数保留以大写字母开头的标识符
Eve
应该是
Eve
。哦,谢谢。我的错误。需要一些休息:)@ USE4217175,如果这个或任何答案已经解决了你的问题,请考虑点击复选标记。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这么做。哦,谢谢。我的错误。需要一些休息:)@ USE4217175,如果这个或任何答案已经解决了你的问题,请考虑点击复选标记。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这么做。哦,谢谢。我的错误。需要一些休息:)@ USE4217175,如果这个或任何答案已经解决了你的问题,请考虑点击复选标记。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这么做。哦,谢谢。我的错误。需要一些休息:)@ USE4217175,如果这个或任何答案已经解决了你的问题,请考虑点击复选标记。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。