2015-01-17 3 views
1

[ВНИМАНИЕ! Плохая идея впереди]Назначьте значение всем переменным, начинающимся с определенной строки

Я знаю, что это, вероятно, странный вопрос, но я пишу сценарий (в JavaScript), который обнаруживает опросы. Таким образом, это определенный вид опроса объявляет куча переменных, которые начинаются с определенной строкой, а затем случайное число добавляется к имени, например, так:

variableName_465; 
variableName_212; 
variableName_123; 

Итак, давайте предположим, все они настроены на ложь, как установить их все в true? У меня есть этот цикл, который регистрирует переменные в глобальной области.

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

Но i = true; внутри для цикла не изменяет фактическую переменную, я думаю, что я на самом деле создает новый.

Я действительно не знаю, если это выполнимо. Я был бы очень благодарен вам за помощь, спасибо.

+1

Возможно, но это ужасная идея, что вы должны переосмыслить. – adeneo

+0

У меня была догадка о том, что эта идея ужасна, и я полагаю, что одна из причин заключается в том, что вы, вероятно, будете вмешиваться в другие сценарии или, возможно, это будет слишком медленно/ненадежно. Это правильно? Что еще не так? Тем не менее, я хочу узнать, как это сделать, я обнаружил, что установка этих переменных в свою противоположность фактически побеждает весь скрипт! (это то, что я хочу сделать). Наверное, я хочу узнать просто для удовольствия. –

ответ

0

Вы хотите изменить window[i] (значение переменной i), а не i (имя переменной). Поэтому вы можете сделать что-то вроде этого:

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

Отлично! Спасибо, это было не сложно. Я думаю, может быть, я должен добавить отказ на мой пост. –

Смежные вопросы