JavaScriptのObjectの.lengthプロパティをオーバーライドする方法を探しています。 (Function.lengthをオーバーライドして厳密なモードで配列の長さを返す方法
:
私は現在
これは基本的な構造である(親コードは、コンテキストに読みやすくなるようにするために使用される)parent.properties.objectsアレイ上のラッパーを有します親変数は、名前空間で定義されていて、intialized)
var parent = function() {
this.properties = {
objects: [];
};
};
ラッパー
されます引数が渡されない場合(function() {
"use strict";
objects = function() {
、
if (arguments.length === 0) {
var _objects = parent.properties.objects;
return _objects;
変更またはフィルタ
} else if (arguments.length > 0) {
...
}
};
これは(のObject.prototype(ない[プロトタイプ])変数を作成し、メソッドの長さを追加するオブジェクトを取得仮定)
objects.prototype.length = function() {
var length = parent.properties.objects.length;
return length;
}
エラー
私が正しくあなたの質問を理解してきたと仮定すると、objects.prototype.__proto__.length = function() {
var length = parent.properties.objects.length;
return length;
}
parent.objects = objects;
})();
エラーの種類について詳しく知ることができますか? – guypursey
私はobjects.Length()(JavaScriptは大文字と小文字を区別します)でハッキングしました。 私は、快適なAPIを作成し、すべてのプロパティ取得/設定操作に関数を持たないようにしています。すべてのプロパティに対して単一の関数です。 objects.length()を呼び出すのは良いことでしたが、objects().length()とは対照的にobjects.Length()が行います。エラーは何らかの__proto__が見つかりませんでした。 ECMA 6を待たなければなりません。 –
最後の行 'parent.object = object;'は何をすべきでしょうか? 'parent'は関数であり、' object'変数はどこにでも宣言されていません。 – Bergi