可能性の重複:
What does “var FOO = FOO || {}” mean in Javascript?Javascriptオブジェクトの作成?
私は繰り返しjavascriptオブジェクトの作成に声明のこの種を発見しています。
var MyObj = MyObj || {};
上記の声明の重要性を説明できる人はいますか?
は、なぜ私たちは
var MyObj = {};
感謝を作成することはできません。
可能性の重複:
What does “var FOO = FOO || {}” mean in Javascript?Javascriptオブジェクトの作成?
私は繰り返しjavascriptオブジェクトの作成に声明のこの種を発見しています。
var MyObj = MyObj || {};
上記の声明の重要性を説明できる人はいますか?
は、なぜ私たちは
var MyObj = {};
感謝を作成することはできません。
MyObj
が既に存在する場合はどうなりますか?
それはalreay存在する場合..声明
var MyObj = {}
は(悪い)オブジェクト
したがって、それは通常、それがすでに存在する場合、それが何であれ保全||
で行われているがリセットされます。 .. else新しいオブジェクトを作成します。
||
演算子は言う:
this || that
からmyObj
がfalsy値に定義されたか設定されていない場合、あなたの例ではそう>this OR that
myObj
はmyObj
または新しいオブジェクトである(null, 0, "", false, undefined
)
var MyObj = MyObj || {};
T帽子は単に「MyObj
が既に存在し真実の価値を持っているならばそれを保つ。そうでない場合は、新しいオブジェクトを」作成します。それは、例えば、関数にオプションのパラメータを行うための一般的な方法です。
主題についての詳細はlogical operatorsで見るMDNのページ。
意味このmyobjがに評価された場合にはこれは、MyObjがbooleanにキャストされたとき(つまりnullではなく定義されているとき)にMyObjがtrueと評価された場合に、ORの第2部分式は評価されません。
私は欲しいクリスタルクリア情報 – Ravi
Gotcha ...ありがとうございました – Ravi