非常に単純化されたシナリオとして、以下のように定義された 2 つの Javascript オブジェクトがあるとします。
var ClassA = Class.extend({
'say': function(message) {
console.log(message);
}
... // some more methods ...
});
var ClassB = Class.extend({
init: function(obj) {
this._target = obj;
}
});
Javascriptには、次のトリックを実行できる何らかのメカニズムがあると思います。
var b = new ClassB( new ClassA() );
b.say("hello");
呼び出されたメソッドが存在するかどうかを検出する方法を見つけたいのですがClassB
、メソッドが で定義されていない場合ClassB
、メソッド呼び出しを be on に自動的に転送できます。ClassA
これは のメンバー変数ですClassB
。
実際のシナリオでは、オブジェクトは brwoser プラグインとして実装され、タグClassA
を使用して Web ページに挿入されます。<object>
そのメソッドは C++ コードで実装されているため、プロトタイプからそのメソッドを識別してClassB
事前に のプロトタイプに挿入する方法はありません。
ClassA のインターフェイスの狭いバージョンで、技術を使用してネイティブ Javascript オブジェクトを作成したいと思います。これを行う方法はありますか?