Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверка: существует ли такая переменная (https://javascript.ru/forum/misc/45790-proverka-sushhestvuet-li-takaya-peremennaya.html)

Faab 16.03.2014 18:23

Проверка: существует ли такая переменная
 
Ребят, а как проверить в цикле существование переменной. Например:

var rawSvg_1 = '...';
  var rawSvg_2 = '...';
  var rawSvg_4 = '...';
  var rawSvg_5 = '...';
  var rawSvg_6 = '...';
  for (i=1; i<7; i++) {
    // ...
    var s = 'r_set_'+ i;
    window[a] = rect_hor.clone();
    window[s].add(window[a]);
    // ...
    if(i == 6 && rawSvg_1 != 'undefined'){
      window[s].add(draw.svg(rawSvg_6).get('logo_6'));
    };
    // ...
  };


Вот то что находится в условии (i==6), я хочу применить для всего цикла. Если i == 1 и rawSvg_1 не равен undefined, то добавить logo_1 из rawSvg_1. И так для всего цикла.

Octane 16.03.2014 18:39

Просто поменяйте способ хранения данных, например:
var raw, raws = {
  rawSvg_1: "…",
  rawSvg_2: "…",
  rawSvg_3: "…",
  rawSvg_4: "…",
  rawSvg_5: "…",
  rawSvg_6: "…"
};


for (raw in raws) {

  if (raws[raw]) {

    …

  }

}


или вообще массив ссылок, не знаю что у вас там за задача

Aetae 16.03.2014 22:56

Если в глобальной области то также:
if( window.rawSvg_1 ) //if( window[ 'rawSvg_' + 1 ] )

Иначе:
if( typeof rawSvg_1 != 'undefined' )


Но вообще Octane дело говорит.)


Часовой пояс GMT +3, время: 09:26.