2011-11-12 6 views
-1

私はグループ、論理的に関連する機能のために、最近のプログラミングパターンのこの種を使用してきた:「javascript object full of functions」とは何ですか?

FruitMethods = { 
    url: "some/path/to/something.durk", 
    get: function(data) {$.ajax(url, data)}, 
    delete: function(something) { some more function stuff....} 
} 

あなたは絵の権利を取得しますか?それは本当にクラスの定義を満たしていないようです...それともそれは? Mixin?他に何か?関数のJavascriptオブジェクトと変数の可能性JOFOFAMAV?

JOFOFAMAVの場合は、私の投票。

PS:これは良い方法であるかどうかについてのあなたの考えにも気をつけてください。

+0

私はそれをオブジェクトと呼んでいます。それが現実さ。すでに知っているかもしれませんが、JavaScriptにはクラスはありません。それはあなたがそれらを(論理的に)エミュレートできると言った。 –

+0

多分namespace/moduleはあなたが探している単語です:) – sled

答えて

3

機能的には、プロパティを持つオブジェクトです。だから、あなたの質問は、どんな共通名がそれを呼んでいるのかについてより多くのものになります。

インスタンスデータがなく、クラスのような新しいインスタンスを作成しているようには見えないので、ほとんどの場合はnamespaceのようなものです。プロパティには、任意の種類のデータまたは関数を使用できます。

名前空間オブジェクトは、理由の束のために有用です:

  1. はトップレベル、これ他のスクリプトとの名前の競合の可能性を下げるグローバル名前空間の使用を制限します。
  2. 関連するデータまたは機能のグループを収集するための組織構造/規約。
  3. 分類または方法および/またはデータを整理していFruit.get()
1

私はそれを名前空間と呼んでいます。

0

ようcategory.methodの簡単なスキームでそれらを参照することが容易になり、階層的スキームはシングルトンの形 - 基本的目的であります外部定義なしで:あなたは 'クラス'定義を持たず、そのクラスのインスタンスを作成します。

このタイプの構造について知るべきことの1つは、オブジェクトのすべてのメソッドが公開されていることです(これは問題でも問題ではないかもしれません)。

関連する問題