为以特定字符串开头的所有变量赋值

Assign a value to all variables that start with certain string

[警告!坏主意]

我知道这可能是一个奇怪的问题,但我正在编写一个检测调查的脚本(在 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; 并没有改变实际变量,我想我实际上是在创建一个新变量。

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

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

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