2017-07-18 7 views
0

Object.list = {}とlist = {}の間にコードをもっと構造化する以外に違いがあるのでしょうか?Object.list = {}とlist = {}の間に違いはありますか?

例:

var Player = function(){ 
    } 
    Player.list = {}; 
    var list = {}; 
+6

ワン(機能)とのスタンドアロン変数 –

+0

これら2枚として、それを宣言し、他のものを定義するにはコードは同等ではありません。 – csmckelvey

+0

私はなぜあなたがそれらが同等であると思うのだろうとより興味があります。 –

答えて

0

あなたは以下のように変数を宣言する場合:

var list = {}; 

変数がwindowグローバルオブジェクト上に作成し、それがコードを以下に相当している。

window.list = {}; 

それに問題がある可能性あり2つ以上の場所で定義された同じ変数を含むページでJavaScriptファイルを結合すると、名前の衝突の問題が発生します。あなたがあなた自身の名前空間を宣言することができるシナリオを回避し、そこに新しい変数Playerオブジェクトにpropertとして追加

var Player = function(){ 
} 
Player.list = {}; 
+0

関数のスコープ外に宣言されている変数は、グローバルのみであることに注意してください。そのため、IIFEでコードブロックをラップするのは、モジュールが登場する前に一般的でした。 – ste2425

1

Player.listlistPlayer関数を定義します。したがって、関数内にスコープがあり、関数の外部で使用することはできません(グローバルであることを明示せずに)。逆に、var listでは、デフォルトでlistをグローバルに使用することができます。

関連する問題