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

just_registered is not defined

基本上,我想说:如果 just_registered 被定义并且是真的,那么警报。但是,我想将所有内容都设置为 false ......我只想让它未定义(我有 100 个变量)

4

1 回答 1

9

<% 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

于 2011-07-11T03:39:51.213 回答