2011-07-11 22 views
3
183|    }); 
    184| 
>> 185|    <% if(just_registered) { %> 
    186|     alert("Welcome!"); 
    187|    <% } %> 
    188| 

just_registered is not defined 

基本上我想說的是:如果just_registered被定義並且是真的,那麼alert。不過,我想希望一切都設置爲false ...我只是想離開它不確定的(我有一個100個變量)如何停止在node.js中獲取此ReferenceError?

回答

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"而不是拋出a ReferenceError