Как проверить, определена ли переменная перед назначением в Java Script? - PullRequest
0 голосов
/ 11 февраля 2012

Здесь при загрузке страницы я пытаюсь сохранить значения от формы до переменных.Позже я хотел бы использовать эти переменные (если и только если у меня есть данные в этом) для других целей.

Вот как я подошел (при загрузке страницы)

render : function() {
 frm = document.Form;

 if (frm.Name1.value){
                value1 = frm.Name1.value;
        }
 if (frm.Name2.value){
            value2 = frm.Name2.value;
        }
if (frm.Name3.value){
            value3 = frm.Name3.value;
        } 

}

В зависимости от определенных условий / выбора я буду вызывать эту функцию для присвоения первоначально загруженных значений

function add_values ( ) {
      if (value1.length){
            frm.Name1.value = value1;
        }
       if (value2.length){
            frm.Name2.value = value2;
        }
        if (value3.length){
            frm.Name3.value = value3;
        }
}

Ошибка: (в firebug)

value3 is not defined
[Break On This Error] if (value3.length){ 

Что я попробовал?

if (undefined != value3)

Ответы [ 4 ]

2 голосов
/ 11 февраля 2012

попробуй

if(typeof value3 != "undefined")

подробнее typeof

1 голос
/ 11 февраля 2012

Вы можете использовать:

typeof value3 != 'undefined'
0 голосов
/ 11 февраля 2012

Просто проверьте, является ли тип переменной undefined:

if (typeof value3 !== 'undefined') {
  // value3 is defined
}

Если хотите, вы можете сделать для этого PHP-подобную функцию:

function isset(variable) {
  return typeof variable !== 'undefined';
}

if (isset(value3)) {
  // value3 is defined
}
0 голосов
/ 11 февраля 2012

Чтобы проверить, что-то не определено:

if (typeof value3 === 'undefined') {
    // It's undefined!
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...