2
最近、私はa question of how jQuery
acts as both a function, as well as an objectに出くわしました。可能なことは、jQuery
が実際には$.each()
のようなプロパティで接続された関数(したがって$()
)であったということです。
私のプロジェクトでは、モデル(技術的には物の配列です)を作成し、メソッドを追加し、それを保持する変数に戻したいと考えています。このようにするのは賢明ですか?それは何かを妨害しますか?
//i did it like this:
function createModel(name){
var model = internal.models[name] = [];
model.add = function(){..logic to add to the model..}
//more augmented methods here...
return model;
}
//create a model
var myModel = createModel('test');
//then i can do add
myModel.add('foo');
それに追加するには、私が実際Array
プロトタイプのものを台無しに周りにしたくありません。私は現在作成されている配列のためにこれをやっています。
私が作っているモデルは、データの単位であるBackbone.jsのモデルと似ていません。これは、Backbone.jsのコレクション、またはデータベーステーブルと同義です。
私の投稿を更新しました。実際には、コードは、参照用に新しく作成されたモデルを返す関数であり、操作用でもあります。 – Joseph