Javascript-是否可以访问类似var b=';opt';+5.警报(b[61]);


Javascript - is it possible to access an array like var b = 'opt' + 5; alert(b[61]);?

在PHP中,我可以执行以下操作:

$name = "options{$a}"; // or "options" . $a, doesn't matter
for ($i = 0; $i < count($name[$i]); $i++) {
    // do something...
}

只要options0存在(假设$a0,或其他),这种构造是完全有效的,但是。。。现在我需要在Javascript中做同样的操作,但目前没有成功。

有人能告诉我怎么做吗?

您可以使用一些注释所描述的数组,也可以使用对象属性。它们涉及相似的符号,但工作方式不同。例如,你可以这样做:

var options = { option0 : ['a', 'b', 'c'],
                option1 : ['d', 'e'],
                ...
               };
var a = 0;
var count = options['option' + a].length; // assigns 3 to count

这将访问名为'option' + aoptions的属性(或者,使用此示例代码,option0)。

虽然您可以很容易地计算和使用属性名称,但您不能(正如注释中所指出的)使用局部变量名称来实现这一点。