JavaScript: определить переменную, если она не существует - PullRequest
51 голосов
/ 03 апреля 2009

Мне кажется, что я пытаюсь сделать что-то очень простое, но просто глупо.

все, что я хочу сделать, это посмотреть, была ли переменная установлена ​​ранее, а если нет, установить ее со значением по умолчанию .... вот пример:

if(!embed_BackgroundColor) {
    var embed_BackgroundColor;
    embed_BackgroundColor = "#F4F4F4";
}

итак, как только ты перестанешь смеяться над моим кодом ... ПОЧЕМУ он перезаписывает переменную, несмотря ни на что?

пожалуйста, спаси мои нервы;)

Ответы [ 12 ]

0 голосов
/ 03 апреля 2009

Я предпочитаю общее решение в стиле PHP:

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

0 голосов
/ 03 апреля 2009

Я думаю, что ваш опубликованный код должен работать. Если ваше первоначальное значение не равно 0.

Проблема в другом месте.

Я предполагаю, что вы определили 'embed_BackgroundColor' вне области вашего кода И когда вы запускаете свой код, эта переменная не определена в области действия вашего кода, и ей будет присвоено значение по умолчанию.

Вот пример:

var embed_BackgroundColor = "#FF0000";

(function(){
  if(!embed_BackgroundColor) {
    var embed_BackgroundColor;
    embed_BackgroundColor = "#F4F4F4";
  }
  alert(embed_BackgroundColor); // will give you #F4F4F4
})();

alert(embed_BackgroundColor); // will give you #FF0000;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...