1

JavaScript でエラーをスローすることなく、変数が存在するかどうか (変数が {} に割り当てられていない場合) を確認できるようにする必要があります。このコードを試すと

if (a) {}    

uncaughtReferenceError をスローします

私が本当にやりたいことは、エラーをスローせずに次のようなことです:

a = a || {}    

または多分それはこのように見えます

if (a) { a = {} }    
4

3 に答える 3

2
if (typeof a === 'undefined'){
  // variable is not available and you can write a = {}
}

しかしa = a || {}まもなく

于 2013-04-20T23:30:38.477 に答える
2

がグローバルの場合、グローバル オブジェクトaを使用してエラーを回避できます。ブラウザでは、そのオブジェクトは次のとおりです。window

window.a = window.a || {};

または、Ozerich が提案したように、typeof参照エラーをスローしない を使用できます。

if (typeof a === 'undefined') {
    a = {};
}
于 2013-04-20T23:34:45.470 に答える