我有一组 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";
关于javascript - 有没有办法用变量代替节点名称来选择网络音频节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54269063/