如何在node.js中停止获取此ReferenceError?

时间:2011-07-11 03:36:08

标签: javascript templates node.js ejs

    183|             });
    184| 
 >> 185|             <% if(just_registered) { %>
    186|                 alert("Welcome!");
    187|             <% } %>
    188| 

just_registered is not defined

基本上,我想说:如果just_registered已定义且为true,则提醒。但是,我想要将所有内容设置为false ...我只想将其保留为undefined(我有100个变量)

1 个答案:

答案 0 :(得分:9)

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

基本上你检查是否存在局部变量。为此,您必须使用typeof运算符,因为访问just_registered这是一个未声明的局部变量会产生引用错误。

相比,这是最好的
var foo;
if (foo) { }

VS

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

在哪里

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

可行,因为使用typeof运算符访问未声明的变量只返回"undefined"而不是抛出ReferenceError