2012-03-12 14 views
2

This threadリテラル表記をオブジェクトあなたは、たとえば関数のコレクションを記述するためのJavascript obectリテラル表記を使用する方法について説明します。定義関数は、

var crudActions = { 
    create : function() { 
      ... 
    } 
    read : function() { 
      ... 
    } 
} 

は、このパターンのが名前ですか?このアプローチを使用する利点はありますか?

+1

可能な複製http://stackoverflow.com/questions/1600130/javascript-advantages-of-object-literal –

答えて

5

あなたの機能は「名前空間」です。あなたの関数は "関連タスクの集まり"になりました

名前空間は、あなたの関数がグローバルスコープ内でもう "生きていない"ことを意味します(したがって、他の関数を汚染/上書きしないようにする)。だからあなたのすべての関数は "名前空間"から扱うことができ、別の関数が同じ名前(別のcreate()のような)を持っていても心配する必要はありません。

あなたのアプリには、データベースとビューがあります。どちらも "作成"を行うことができますが、2つのcreate()機能を持つことはできません。 createDatabase()createView()のような奇妙な名前を作成するだけでは整理されていません。したがって、名前空間を作成して、database.create()view.create()と呼ぶことができます。これは理にかなっています。

-2

var personA = { 
    name:"personName", 
    age : 23, 
    sex : "Male", 

    info:function() { 
     console.log(name + ": "+age+ ": "+sex); 
    } 
}; 
オブジェクト内の変数と関数の宣言メソッドをオブジェクトを作成し、プロパティを定義し、値

。このメソッドは主にクロージャーで使用されます。