为以某个字符串开头的所有变量赋值

时间:2015-01-17 04:47:18

标签: javascript variables find global assign

[警告!未来的坏主意]

我知道这可能是一个奇怪的问题,但我正在编写一个检测调查的脚本(用JavaScript)。所以,这种某种调查声明了一堆以某个字符串开头的变量,然后在名称后附加一个随机数,如下所示:

variableName_465;
variableName_212;
variableName_123;

因此,假设所有这些都设置为false,我如何将它们全部设置为true? 我有这个循环,它记录全局范围内的变量。

for ( var i in window ) 
{
    console.log(i, typeof window[i], window[i]);
}

但for循环中的i = true;不会改变实际变量,我想我实际上是在创建一个新变量。

我真的不知道这是否可行。我非常感谢你的帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

您想要修改window[i](变量i的值),而不是i(变量名称)。所以你可以这样做:

for (var i in window) {
    if (i.indexOf('variableName') == 0){
        window[i] = true;
    }
}