如何在 for 循环中创建变量
How do you create variables in for loop?
我正在尝试在 for 循环中动态创建变奏曲。 错误。我要做的是:获取 32 个文本字段的值并尝试将这些值存储到变量中。
for (i = 1; i<=32;i++){
q[i] = document.getElementById('qty[i]').value;
}
但这大喊:
错误:"q"未定义
var q = [];
for (var i = 0; i < 32; i++){
q[i] = document.getElementById('qty[i]').value;
}
q
将包含您的所有值。您应该在 for 循环之外声明数组q
,因为这是普遍接受的最佳实践。如果你根本不声明q
,它将是一个隐含的全局变量,你可能想要避免。如果在循环内声明q
,则每次迭代都会覆盖它,因此您需要确保在外部声明它。
另外,您会注意到我从这里更改了您的for
循环:
for(i = 1; i <= 32; i++) {
对此:
for (var i = 0; i < 32; i++){
你从 1 循环到 32;这是不正确的,因为 Javascript 中的数组是 0 索引的;换句话说,它们从零开始计数。在这种情况下,您的for
循环也需要从零开始计数,并在 31 结束。此外,您需要在 for 循环中声明 var i
;否则,它将成为全局变量。
现在,如果你真的不想在 for 循环之外声明q
,你可以按照 Kirian 演示的方式进行操作;也就是说,使用 if
语句来确定q
是否已声明,如果没有,则声明它。那看起来像这样:
for (var i = 0; i < 32; i++){
if(!q) q = [];
q[i] = document.getElementById('qty[i]').value;
}
另一个注意事项是,如果qty
是代码中的数组,那么您可能想要这个:
var q = [];
for (var i = 0; i < 32; i++){
q[i] = document.getElementById(qty[i]).value;
}
如果 qty
是一组看起来像 qty[1], qty[2], qty[3]...
的 ID 的一部分,那么您需要这样:
var q = [];
for (var i = 0; i < 32; i++){
q[i] = document.getElementById('qty[' + i + ']').value;
}
你试过吗:
var q = [];
for (var i = 0; i < 32; i++){
q.push(document.getElementById('qty[i]').value);
}
语法q.push(x)
将 x 追加到数组的末尾。
相关文章:
- 根据发送到javascript中函数的参数创建变量名
- 基于循环创建变量
- 创建变量并将其动态命名为javascript
- 使用For each循环-jquery创建变量
- 如何使用html5和javascript创建变量步骤
- 从另一个函数创建变量到 JavaScript 数组
- 有没有办法在javascript或jquery中创建变量选择器
- 从 JavaScript 中的参数创建变量名称
- 如何在 Javascript 中从数组创建变量数组
- jquery创建变量并使用它来加载 - laravel
- 使用 Javascript 创建变量数组(动态,下拉)
- 创建变量后,对定义的变量是坏的/好的/可选的
- HTML5 Web 存储创建变量
- 如何在 for 循环中创建变量
- 在 JQuery/Javascript 中设置和使用动态创建变量的属性
- 在 JavaScript 循环中创建变量
- 从 javascript 中的另一个变量名称创建变量键
- JavaScript 创建变量并使用循环为它们赋值
- 正确的格式结构创建变量
- JavaScript-如何使用递归创建变量嵌套循环