Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有办法用一个变量代替节点名来选择web音频节点?_Javascript_Html_Web Audio Api - Fatal编程技术网

Javascript 有没有办法用一个变量代替节点名来选择web音频节点?

Javascript 有没有办法用一个变量代替节点名来选择web音频节点?,javascript,html,web-audio-api,Javascript,Html,Web Audio Api,我有一组5个振荡器节点,希望能够选择特定节点的波形。所有振荡器都有名称osc1、osc2、osc3等,我希望能够选择使用元素id(1、2、3等)更改的振荡器 这就是我认为有效的方法: var oscNum = ("osc"+eleNum) if (element.value == 1) { oscNum.type = 'square'; } else if (element.value == 2) { oscNum.type = "sawtooth"; } else if (ele

我有一组5个振荡器节点,希望能够选择特定节点的波形。所有振荡器都有名称osc1、osc2、osc3等,我希望能够选择使用元素id(1、2、3等)更改的振荡器

这就是我认为有效的方法:

var oscNum = ("osc"+eleNum)

if (element.value == 1)
{
    oscNum.type = 'square';
}

else if (element.value == 2)
{
oscNum.type = "sawtooth";
}

else if (element.value == 3)
{
oscNum.type = "triangle";
}

else if (element.value == 0)
{
oscNum.type = "sine";           
}

但事实并非如此,我想知道是否有任何方法可以使用
var.type
而不是
osc1.type
来选择节点。

在您的示例中,第一行代码是计算字符串。假设
eleNum
等于3。那么
oscNum
的值就是字符串
“osc3”

如果您想通过振荡器的索引来选择振荡器,您可以使用一个数组来存储它们

const oscillators = [ osc0, osc1, osc2, osc3 ];
稍后,您可以通过索引选择单个振荡器并设置类型

oscillators[eleNum].type = "triangle";