如何使用用户输入创建全局变量?

时间:2018-04-28 15:30:13

标签: javascript

我正在制作一个程序,我有一个用户输入,用户输入他们的猫的名字,然后我希望名称出现在整个程序的文本中。这是我的代码,它在Javascript中:

var catName = getText("nameInput");
onEvent("startBtn", "click", function(event) {
  setScreen("feedingScreen");
  setText("feedingText", catName+" is hungry! Give "+catName+" some food! 
Click fish to feed.");
});

当我运行此程序时,cat名称不会出现在文本中。如何在文本显示的位置进行显示?

1 个答案:

答案 0 :(得分:0)

如果catName变量将长时间使用,我会考虑使用localStorage存储它并随时检索它(即使用户离开页面时)并回来了。

示例:

function setCatName(name) {
    window.localStorage.setItem('catName', name);
}

function getCatName() {
    return window.localStorage.getItem('catName');
}

如果您不想这样,可以将其存储在window对象中。请注意,它被认为是不好的做法(但总的来说也是全局变量)。

示例:

function setCatName(name) {
    window.catName = name;
}

function getCatName() {
    return window.catName;
}

更新:

这很有趣,因为Mozilla的文档中的示例也使用localStorage来设置和检索猫的名字:

localStorage documentation