2012-02-08 3 views
3

私はJohn Resig's Class libraryと互換性のある単純なMixinビヘイビアを実装しました。私は他のJSフォークにコードをチェックして、これがMixinが正常に動作する方法であるかどうかを知らせてくれるように頼んでいます(私はこれまでずっと使用していません)。John Resigのクラス構文を持つミックス

http://jsfiddle.net/aaronsnoswell/PHuvs/

コードが間違っている場合、それはどのように動作するはず?

+0

'CanRun'が混在している' Person'からすでに継承していると思います。 – Bergi

+0

jsfiddleリンクはもうフォークしていないようです。 .. :( –

答えて

0

mixin実装のスタイルを考慮する必要があると思います。例えば

私はそのような何か作る場合:

if(ninja instanceof CanRun){ 
    document.write("yea"); 
}else{ 
    document.write("no"); 
}; 

をその後、私は「はい」、または「いいえ」を得るべきではありませんか?

あなたの実装では、mixinはクラスではありません。私はそれがあなたの目標であるのか分かりませんが、多くの言語でmixinはインスタンスを作成できないという点を除いて完全に評価されたクラスです。

+0

'CanRun'はオブジェクトなので、' instanceof'は例外を投げます。 – Bergi

+0

@Bergi例えばRubyではis_a(instanceof analogue)はクラスと同様にmixinで動作します。コードはmixinの独自の理解を実装していますが、大丈夫ですが、一般的にはこれはそうではありません。 –

+0

フィードバックをいただきありがとうございます。 – aaronsnoswell

関連する問題