【发布时间】:2015-07-31 16:07:56
【问题描述】:
我是 Javascript 新手,想弄清楚为什么 console.log 没有打印出用户名。我希望函数 NewUser 获取新变量(Emily 和 Jason)并打印出他们的名字以及他们的“生活”。
我的问题似乎是 "this.name="" " 这一行,我不知道如何让 this.name 为新用户获取变量的名称。我试过 this.name;但返回未定义。
function NewUser(){
this.name="";
this.life=100;
this.mana=1000;
console.log(this.life);
console.log(this.name);
}
var Jason=new NewUser();
Jason.name="Jason";
var Emily=new NewUser();
Emily.name="Emily";
【问题讨论】:
-
您已有的代码有什么问题?看起来它会起作用。将初始名称作为参数传递给构造函数可能更好,但你所拥有的也应该工作。
-
console.log()语句当前位于构造函数内部(当您调用new NewUser()时运行。在 之后 之前,您不会设置name属性,不过。 -
使用 '[javascript] this' 搜索 Stackoverflow:1,309,289 结果
-
@KooiInc 这实际上不是使用
this的问题。问题只是执行顺序。 OP 对this.name和SomeUser.name的引用都是正确的……(只是排序错误)。 -
非常感谢所有反馈!
标签: javascript this