javascript - 如何传递整数来创建新变量名?

标签 javascript

我有50个名为animation0、animation1、animation2等的svg动画,我想在将整数0到49传递给此函数时加载它们:

function loadAnimation(value){
    var whichswiffy = "animation" + value;
    var stage = new swiffy.Stage(document.getElementById('swiffycontainer'), whichswiffy);
    stage.start();
}

目前不起作用,也许它正在传递“whichswiffy”而不是animation10?

有什么想法吗?

最佳答案

"I have 50 svg animations named animation0, animation1, animation2 etc."

使用全局变量

我认为这意味着你有变量。如果它们是全局变量,您可以将它们作为全局对象的属性进行访问。

var whichswiffy = window["animation" + value];
<小时/>

使用对象代替变量

但是如果它们不是全局变量(或者即使它们是),您最好将它们存储在对象中...

var animations = {
    animation0: your first value,
    animation1: your second value,
    /* and so on */
}

...然后将它们作为该对象的属性访问...

var whichswiffy = animations["animation" + value];
<小时/>

使用数组代替变量

或者更好,只需使用数组,因为唯一的区别是数字......

var animations = [
    your first value,
    your second value,
    /* and so on */
]

然后只需使用索引...

var whichswiffy = animations[value];

关于javascript - 如何传递整数来创建新变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11376063/

相关文章:

javascript - 在 Javascript 中使用 var 和 this 有什么区别?

javascript - 如何在 React 中隐藏和显示带有 useState 或条件渲染的组件?

javascript - 从多个工作簿/工作表中提取范围

javascript - 获取 firebase 返回的数组的长度

javascript - 格式化文本字段输入

javascript - 如何在我的网站中使用 Chrome 扩展功能 (NaCl)?

javascript - 克隆主干模型属性

javascript - 如何使用 jQuery 通过 id 选择多个元素

javascript - 无法在jsp中显示期望值

javascript - 使用在生成的 jpg 之上展平的 CSS3 滤镜拍摄图像快照