Как мне перестать получать этот ReferenceError в node.js? - PullRequest
3 голосов
/ 11 июля 2011
    183|             });
    184| 
 >> 185|             <% if(just_registered) { %>
    186|                 alert("Welcome!");
    187|             <% } %>
    188| 

just_registered is not defined

По сути, я хочу сказать: если just_registered определен и имеет значение true, тогда alertТем не менее, я хочу установить все в false ... Я просто хочу оставить это неопределенным (у меня как 100 переменных)

1 Ответ

9 голосов
/ 11 июля 2011

<% if(typeof just_registered !== "undefined") { %>

По сути, вы проверяете, существует ли локальная переменная. Для этого вы должны использовать оператор typeof, так как доступ к just_registered, который является необъявленной локальной переменной, создает ошибку ссылки.

Это лучше, чем

var foo;
if (foo) { }

против

//var foo;
if (foo) { } // ReferenceError

Где, как

//var foo
if (typeof foo !== "undefined") { } 

Будет работать, поскольку доступ к необъявленной переменной с помощью оператора typeof просто возвращает "undefined", а не бросает ReferenceError

...