私は有名な「JavaScript:The Good Parts」(Douglas Crockford著)と関わっています。もちろん素晴らしい本です。私はまだそれの準備ができていないかもしれないが、私はそれを与えることを考えた。私は次の例を理解するためにいくつかの助けが必要です。 replace()
の2番目の引数は2つの引数a
とb
をとります。しかし、それらはどこに定義されていますか?彼らはどのように価値を取りますか?前もって感謝します。私は別のstackを参照しましたが、私はそれが本当に助けたとは思わない。モジュール - JavaScript:良品。このコールバックはどのように引数を取得していますか?
String.method('deentityify', function () {
// The entity table. It maps entity names to
// characters.
var entity = {
quot: '"',
lt: '<',
gt: '>'
};
// Return the deentityify method.
return function () {
// This is the deentityify method. It calls the string
// replace method, looking for substrings that start
// with '&' and end with ';'. If the characters in
// between are in the entity table, then replace the
// entity with the character from the table.
return this.replace(/&([^&;]+);/g,
function (a, b) {
var r = entity[b];
return typeof r === 'string' ? r : a;
}
);
};
}());
インデントゴア.. –
あなたは関数がどのように動作するか分からない場合は、良いアイデアは、ドキュメントでそれを見ることです。 JavaScriptの場合、最も良いのはMDNです:[パラメータとして関数を置き換える](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter) –
これは、既存のStringメソッドである 'String.replace'で呼び出されます。 – RemcoGerlich