underscorejsソースコード読み取りノート
1625 ワード
Underscoreの概要
UnderscoreはJavaScriptユーティリティライブラリで、Prototypeのようなものを提供しています.jsのいくつかの機能は、JavaScript内蔵オブジェクトを継承していません.それは一部のjQueryが実現していない機能を補い、同時にBackboneである.jsは欠かせない部分です.
Underscoreは80以上の関数を提供し、よく使われる:map、select、invoke-もちろん、関数バインド、JavaScriptテンプレート機能、強いタイプの等しいテストなど、専門的な補助関数もあります.新しいブラウザでは、ブラウザ自体が直接サポートする場合、forEach、map、reduce、filter、every、some、indexOfなどのオリジナルの関数がたくさんあります.
個人的な感覚.
Underscoreは私が読み終わったjsソースコードで、彼は簡単で、分かりやすくて、実用的で、注意深く観察すると発見して、すべての関数はすべてとても短くて、オープンソースとしてソースコードを読んで、私はUnderscoreが悪くない選択だと信じています
メモ
1:大量のこの方法は、方式の元の方法が改ざんされ、同時に運行速度を速めるべきで、厳格なモードを言った後もargumentsを通過させない.calleeは関連方法の空腹の原因を呼び出しましょう
2:void 0、最初はなぜvoid 0を使うのか、undefinedの略だったのか気になりました.後で聞いてみるとundefinedは旧バージョンのブラウザでは付与できないが、新バージョンのブラウザでは付与できるので、正確な判断のためにvoid 0があることが分かった.
3:コードが短い
Underscoreコードは短くて精巧で、本当に逸品です
eqという方法が長い以外は他の方法は短いです
4:残念ながら今回はノートを記録していないのでデバッグしていません
UnderscoreはJavaScriptユーティリティライブラリで、Prototypeのようなものを提供しています.jsのいくつかの機能は、JavaScript内蔵オブジェクトを継承していません.それは一部のjQueryが実現していない機能を補い、同時にBackboneである.jsは欠かせない部分です.
Underscoreは80以上の関数を提供し、よく使われる:map、select、invoke-もちろん、関数バインド、JavaScriptテンプレート機能、強いタイプの等しいテストなど、専門的な補助関数もあります.新しいブラウザでは、ブラウザ自体が直接サポートする場合、forEach、map、reduce、filter、every、some、indexOfなどのオリジナルの関数がたくさんあります.
個人的な感覚.
Underscoreは私が読み終わったjsソースコードで、彼は簡単で、分かりやすくて、実用的で、注意深く観察すると発見して、すべての関数はすべてとても短くて、オープンソースとしてソースコードを読んで、私はUnderscoreが悪くない選択だと信じています
メモ
1:大量のこの方法は、方式の元の方法が改ざんされ、同時に運行速度を速めるべきで、厳格なモードを言った後もargumentsを通過させない.calleeは関連方法の空腹の原因を呼び出しましょう
var ArrayProto = Array.prototype,
ObjProto = Object.prototype,
FuncProto = Function.prototype;
// Create quick reference variables for speed access to core prototypes.
var
push = ArrayProto.push,
slice = ArrayProto.slice,
concat = ArrayProto.concat,
toString = ObjProto.toString,
hasOwnProperty = ObjProto.hasOwnProperty;
2:void 0、最初はなぜvoid 0を使うのか、undefinedの略だったのか気になりました.後で聞いてみるとundefinedは旧バージョンのブラウザでは付与できないが、新バージョンのブラウザでは付与できるので、正確な判断のためにvoid 0があることが分かった.
_.first = _.head = _.take = function(array, n, guard) {
if (array == null) return void 0;
if ((n == null) || guard) return array[0];
if (n < 0) return [];
return slice.call(array, 0, n);
};
3:コードが短い
Underscoreコードは短くて精巧で、本当に逸品です
eqという方法が長い以外は他の方法は短いです
4:残念ながら今回はノートを記録していないのでデバッグしていません