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

just_registered is not defined 

基本的に言いたいのは、just_registeredが定義されていてtrueの場合、警告です。しかし、私はfalseにすべてを設定したいしたい...私は(私は100のような変数を持っている)、それは未定義のままにしたいnode.jsでこのReferenceErrorの取得を停止するにはどうすればよいですか?

答えて

9

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

基本的には、ローカル変数が存在するかどうかをチェックします。これを行うには、宣言されていないローカル変数であるjust_registeredにアクセスすると参照エラーが生成されるため、typeof演算子を使用する必要があります。

typeof演算子と宣言されていない変数にアクセスするだけで投げるというし"undefined"を返すため

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

が動作するように、これは最高の

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

var foo; 
if (foo) { } 

と比較され、 a ReferenceError

関連する問題