d3.jsを多く使用しており、最近linearScale関数について考えています。呼び出し可能メソッドを使用してオブジェクトを作成する方法ですが、関数のように呼び出すこともできます
それはあなたがこれを行うことができます:私の知る限り
var x = d3.scaleLinear()
.domain([10, 130])
.range([0, 960]);
x(20); // 80
x(50); // 320
を:
- xはd3.scaleLinear(の戻り値を保持している)
- Xオブジェクトに似ていますなぜなら、xは 'x(20)'のように呼び出すことができ、戻り値を得ることができるからです。
d3の実装方法に関する詳細な情報は必要ありません.d3はこれを実現するためのAPIの最初の例です。
私はjavascriptで同様のものを実装することに興味があり、最も簡単な形式で必要なデザインパターンを知りたいと思います。
私はd3のソースコードを見てみましたが、余分な機能がたくさんあり、複数のファイルに分割されています。特に私が探しているものを見つけるのは難しいそれが何であるかは分かりません。どんな助けでも大歓迎です。
のようなチャートを呼び出すことができます:いいえ。 'x'は実際に' .range'が返したものです。 – Cerbrus
@Cerbrus私は.domainと.rangeメソッドをどちらの順序でも連鎖できるので、.rangeは 'this'を返します。 – Martha
[JavaScriptクロージャ](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures)をご覧ください。 –