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.");
});
然而,当我运行这个程序时,猫的名字没有出现在文本中。我怎样才能使它出现在文本显示的地方?
解决方案
如果该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 来设置和检索猫的名字:
推荐阅读
- google-apps-script - 我想在我的日期时间行中获得编辑时间戳,但是当我在谷歌脚本中复制/粘贴多行时,我还需要它来时间戳
- python - CSGO Market API 400 错误请求
- javascript - Why is Data not being passed through my Node REST API?
- regex - 使用 htaccess 将特定字符 URL 后的第一个字母转换为大写
- c# - gRPC .NET 5 / C# 项目中的模糊路由异常
- javascript - 使用 3 个已知点在 2 个 3D 笛卡尔坐标系之间进行转换
- excel - VBA - 如何在一张纸中设置多页的打印区域?
- featuretools - 指定原始选项的 Featuretools 文档是错误的?
- redis - 如何从 Redis 数据库获取最新条目,我在其中有时间戳列
- blockchain - 以太坊方法 eth_getTransactionByHash 中的“类型”列是什么意思?