如何正确创建供其他函数使用的对象

我正在尝试学习 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 对象中设置为“名称”。


撒科打诨
浏览 103回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript