我正在尝试学习 javascript,目前正在玩 Kata Evercraft 挑战赛。
长话短说我需要创建一个角色,这个角色将有一个名字、统计数据、健康等作为这个对象的一部分。我已经定义了一个“角色”类,以防我想玩多个角色。角色对象将在“nameEntry()”函数中创建,因为用户要做的第一件事就是决定一个名字。稍后其他函数将访问此对象并添加统计信息、调整健康状况或根据需要调用要显示的信息。
有人告诉我,将对象创建为全局变量是在编程时通常要避免的事情,但我不是 100% 确定如何使该对象在其他地方可访问而不是全局的。
我的第一次尝试让我通过用 window 声明它来将此变量设置为全局变量。在函数中。这有效,但显然使它成为全球性的......
到目前为止,这是我的代码,我调用了一个 console.log 函数来测试我的对象是否可访问。显然,对于我的代码,由于未定义 character1,我目前遇到了一个错误。我应该如何最好地解决这个问题?
class Character {
constructor(name) {
this._name = name;}
get name() {
return this._name;
}
}
const nameEntry = () => {
let name = prompt("Enter your name: ", "name");
const character1 = new Character(name);
console.log(character1.name);
document.getElementById("nameText").innerHTML = character1.name;
if (character1.name != 'name') {
$( ".button" ).remove();
}
}
const displayName = () => {
console.log(character1.name);
}
如果我的代码按预期工作,那么调用 displayname() 函数将显示在提示中输入的内容并在 character1 对象中设置为“名称”。
相关分类