javascript - 使用两个变量的内容并将其作为一个变量使用

标签 javascript html variables

这可能是一个非常基本的问题,但我真的不明白发生了什么。

如果我在 Javascript 中有一些 var 如下所示:

var cube1 = paper.rect(200, 200, 0, 0);
var cube2 = paper.rect(300, 200, 0, 0);
...

它会转到cube99

为了捕获所有立方体,我正在循环中执行以下操作:

for(var i = 0; i < 100; i++) {
    cube+i.attr(fill: '#000');
    console.log(i);
}

但它向我抛出了一个未定义的错误:“多维数据集不可用”。

为什么会发生这种情况?

最佳答案

假设您的变量是全局变量,那么它们是 window 对象的属性。您可以使用 bracket notation :

window['cube'+i].attr(fill: '#000');

但更好的做法是将所有多维数据集存储在一个数组中:

var cubes = [];
cubes.push(paper.rect(200, 200, 0, 0));
...
for(var i = 0; i < 100; i++) {
    cubes[i].attr(fill: '#000');
    ...
}

关于javascript - 使用两个变量的内容并将其作为一个变量使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19348327/

相关文章:

java - JTextField 变量在 actionlistener 之外返回 null?

javascript - 将变量名作为字符串循环并销毁它们

javascript - 如何使导航 HREF 根据浏览器大小不同地加载链接

html - 有谁知道如何在 <select> 的选项标签中添加上标

javascript - 我无法使用 javascript 来控制 chrome 中的音频

php - 从字符串中获取最后一个 <li> 元素

javascript - 使用 javascript 和正则表达式删除停用词

javascript - pool.query 不是函数 - 使用 npm mysql 包使用连接池

javascript - 是否可以通过下拉 CSS 菜单运行 js 功能?

javascript - Jquery不显示从db获取的值