【发布时间】:2019-02-05 11:56:28
【问题描述】:
我是 javascript 初学者,需要您的帮助!非常感谢您的帮助!
cell_660 = cell_638;
cell_659 = cell_637;
...
它就是这样工作的。我现在想每秒对所有 660 个变量执行此操作,以将它们的值更改为名称末尾有数字(自己的数字 -22)的变量的值。当然不用写660行代码!到目前为止我尝试过这个:
var count = 660;
setInterval(function(){
for(var i=1;i<=660;i++){
'cell_' + count = 'cell_' + eval(count - 22);
count--;
}
count=660;
},1000);
我该如何正确地写这个?我已经阅读了关于 window['cell_' + count] - 但我不想每秒创建 660 个新变量。我想每秒更改 660 个变量的值。
【问题讨论】:
-
这不是创建新变量。
-
括号语法创建或更新具有动态名称的变量。此外,您不需要
eval:只需'cell_' + (count - 22)。 -
谢谢@HereticMonkey - 我会按照你描述的方式再试一次 - 但javascript不会解释 >>>> 'cell_' + 变量
-
是的,您需要使用以前的
window['cell_' + count]代码。不过,您应该首先阅读这个问题的答案;拥有 600 多个变量绝对是设计选择错误的标志。 -
我了解您正在学习,但正如您所见,以下所有答案都指向使用数组。如果您打算进行任何严肃的编程,您需要学习最佳实践并计划好您的代码(甚至用纸和铅笔),然后再开始在计算机上进行任何操作。相信我,您会非常感激它为避免思考和流程错误而节省的时间。
标签: javascript jquery variables for-loop dynamic