上下文:我正在根据w3schools.com 中的教程使用 cookie 。这个想法是设置由用户输入的搜索查询给出的最多 10 个 cookie(即,只应存储最后 10 个条目)。我有一个函数可以为 10 个 cookie(“Search_Entry”+i)中的每一个生成一个名称。一切正常,直到第 11 个条目,我希望函数再次返回第一个可能的名称,然后返回第二个,第三个等,这样已经存储在这些名称下的值将简单地替换为新的一。在某种程度上,我希望循环以某种方式重新启动,尽管这似乎不是一个简单的选择。var g_iMaxSearchQueries = 10;function dynamicCookieName() { var l_aCurrentCookie; for (var i = 0; i < g_iMaxSearchQueries; i++) { l_aCurrentCookie = getCookie("Search_Entry"+i); if(l_aCurrentCookie == "" && i < g_iMaxSearchQueries) { return "Search_Entry"+i; } else if (i == 9) { //this “else” needs to be an “else if” in order for the condition to work properly. Maybe is (i == 9) not the right one but the only one that worked for me from what I’ve tried. //here would the loop start running again exactly like in the first part. } }}据我所知,我到处搜索,并尝试了几种不同的方法,还有更复杂的潜在解决方案,但基本问题仍然相同,这就是为什么我的问题和我发布的代码版本指的是我需要的核心. 也许有更多知识和经验的人可以对此有所了解。非常感谢!
2 回答
红糖糍粑
TA贡献1815条经验 获得超6个赞
假设您希望循环连续执行,则i++可以将条件更改为
i = (i + 1)%g_iMaxSearchQueries
或者在 else if 部分,将 i 设置回 0。
else if(i==9) {
i = 0
}
添加回答
举报
0/150
提交
取消