2012-03-14 4 views

答えて

2

MyObjが既に存在する場合はどうなりますか?

それはalreay存在する場合..声明

var MyObj = {}は(悪い)オブジェクト

したがって、それは通常、それがすでに存在する場合、それが何であれ保全||

で行われているがリセットされます。 .. else新しいオブジェクトを作成します。

||演算子は言う:

this || thatからmyObjがfalsy値に定義されたか設定されていない場合、あなたの例ではそう>this OR that

myObjmyObjまたは新しいオブジェクトである(null, 0, "", false, undefined

2
var MyObj = MyObj || {}; 

T帽子は単に「MyObjが既に存在し真実の価値を持っているならばそれを保つ。そうでない場合は、新しいオブジェクトを」作成します。それは、例えば、関数にオプションのパラメータを行うための一般的な方法です。

主題についての詳細はlogical operatorsで見るMDNのページ。

+0

Gotcha ...ありがとうございました – Ravi

0

意味このmyobjがに評価された場合にはこれは、MyObjがbooleanにキャストされたとき(つまりnullではなく定義されているとき)にMyObjがtrueと評価された場合に、ORの第2部分式は評価されません。

+0

私は欲しいクリスタルクリア情報 – Ravi