Babylon.js v2.0 を設計する場合(a Web 上で 3D を構築するためのライブラリ)、最近、もっと欲しいと思っていることに気づきました。 APIfluent- そうは言っても、コミュニティが読みやすくしたいのですが、 技術文書に費やす時間を短縮しながら、自分の仕事を理解し、発展させていきます。
このチュートリアルでは、流暢な API について説明します。考慮すべき点とその方法について説明します。 それらの書き込みと、クロスブラウザーのパフォーマンスへの影響。
この Wikipedia の記事で説明されている流暢な API は、 より読みやすいコードを提供するように設計されたオブジェクト指向 API。 JQuery は、流暢な API によって何ができるかを示す好例です:
リーリーSmooth API を使用するとリンクできます このオブジェクトを返すことで関数が呼び出されます。
簡単に作成できます このような流暢な API:
リーリーご覧のとおり、トリックはthis
オブジェクトを返すだけです (現在のインスタンスを参照します) この場合)チェーンを継続できるようにします。
知らない場合は JavaScript で「this」キーワードがどのように機能するかについては、この素晴らしい記事を読むことをお勧めします 記事の著者:マイク・ウェスト。
これで呼び出しをチェーンできます:
リーリー次の作業を行う前に Babylon.js と同様に、これによって何らかの問題が生成されないようにしたいと考えています。 パフォーマンスの問題。
ということでベンチマークテストをしてみました!
リーリー ###としてfooと
foo2がまったく同じことを行うことがわかります。のみ 違いは、
fooはリンクできるが、
foo2はリンクできないことです。
リーリー ###そして### リーリー
このコードを与えられて実行しました Chrome、Firefox、IE に興味があるかどうかを確認する パフォーマンス。これが結果です わかりました:
Chrome
では、通常の API は Fluent API よりもすべて削除したらreturn
ステートメントはそのままにしておいてください。すべてのブラウザで機能するわけではありません。 その違い (実際には、10,000,000 回の試行でわずか 1 ~ 2 ミリ秒)。あなた さまざまなブラウザーで自分でテストできます。持っていない場合 このデバイスは便利で、dev.modern.IE には無料のツールが多数あります。仮想マシン上でパフォーマンス テストを実行しないでください。 実際のデバイスの場合。
したがって、私の結論は次のとおりです。 来て!
Fluent API は優れています。より読みやすいコードが生成され、問題やパフォーマンスの低下なしに使用できます。
その他の実践方法 JavaScriptと新しいEdgeHTML レンダリング エンジンを皆さんと共有できることを嬉しく思います。無料 Mac、iOS、Android、または Windows デバイスでの仮想マシンまたはリモート テスト @http://dev.modern.ie/。
以上がJavaScript: Fluent API の技術を習得するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。