Javascript 如何递增计数器并将结果附加到字符串以返回对象名?
我正在尝试开发一个web应用程序,它是一个打鼓入门。 课程以JPG图像的形式显示,并附带可播放的音频曲目。 我希望我的“下一步”按钮增加一个计数器以加载下一课。课程标题、分数和曲目位于名为Javascript 如何递增计数器并将结果附加到字符串以返回对象名?,javascript,Javascript,我正在尝试开发一个web应用程序,它是一个打鼓入门。 课程以JPG图像的形式显示,并附带可播放的音频曲目。 我希望我的“下一步”按钮增加一个计数器以加载下一课。课程标题、分数和曲目位于名为lesson1(“标题”、“分数”等),lesson2(“标题”等)的对象数组中。所以我需要在课后更改数字。我正在尝试,但它不起作用。你能帮忙吗 p = integer.valueOf(localStorage.lessonNGS); p = p + 1; n = string.valueOf(p); loca
lesson1(“标题”、“分数”等)
,lesson2(“标题”等)
的对象数组中。所以我需要在课后更改数字。我正在尝试,但它不起作用。你能帮忙吗
p = integer.valueOf(localStorage.lessonNGS);
p = p + 1;
n = string.valueOf(p);
localStorage.setItem("lessonNGS", n);
var lesson = "lesson" + localStorage.lessonNGS;
注二:
parseInt
将字符串解析为intlocalStorage
时处理转换,也可以在将整数连接到“lesson”字符串时处理转换p = parseInt(localStorage.lessonNGS, 10);
p = p + 1;
localStorage.setItem("lessonNGS", p);
var lesson = "lesson" + localStorage.lessonNGS;
您应该使用andparseInt
var p = parseInt(localStorage.getItem('lessonNGS'), 10) || 0;
++ p;
localStorage.setItem('lessonNGS', p);
标题应该描述实际问题,而不是你解决问题时的经验。试着在问题标题中解释你的问题是关于什么的。当前的标题没有告诉读者任何事情,大多数人会跳过阅读问题。查看你的来源。构建字符串时不要使用
eval
<代码>未捕获引用错误:lessonundefined未定义是您页面上的错误。将修改问题标题。谢谢你关于评估的建议。我以前读过这篇文章,但这似乎是我能够填充这些字符串的唯一方法。你确定localStorage.lessongs
在所有浏览器中都可以访问吗?它在chrome中工作,但我找不到任何关于它的东西。parseInt应该始终包含一个基数,例如parseInt(foo,10)。@Louy-localStorage
是HTML5的一部分,它应该在所有支持它的浏览器上都可用。我的意思是localStorage.Lessongs
vslocalStorage.getItem('Lessongs'))
@djechlin-可以省略基数
参数,在这种情况下,Javascript将根据字符串的内容做出一些假设(例如,如果它以0x开头,或以零开头,等等),这是可行的。非常感谢。我不知道| | 0;你在干什么?你能告诉我或者告诉我去哪里看吗?这是一个退路。因此,如果localStorage.getItem('lessonNGS')
还不存在(null
或undefined
),它将返回到0
。