Was ist der Unterschied beim Aufruf von 'this' in diesen Beispielen?
Ich lese Crockfords "JS: The Good Parts". Er hat zwei Beispiele dafür und ich verstehe nicht, warum er in einem Fall verwendetthis
und in einem anderen benutzt erthat
.
Das erste Beispiel:
String.method('deentify', function() {
var entity = {
quot: '"',
lt: '<',
gt: '<'
};
return function() {
return this.replace(/&([^&;]+);/g,
function (a, b) {
var r = entity[b];
return typeof r === 'string' ? r : a;
}
);
};
}());
document.writeln('<">'.deentify());
Das zweite Beispiel:
Function.method('curry', function() {
var args = arguments, that = this;
return function () {
return that.apply(null, args.concat(arguments));
};
});
var add1 = add.curry(1);
document.writeln(add1(6));
Warum kann das erste Beispiel zugreifenthis
direkt? Was ist der Unterschied zwischen diesem und dem folgenden Beispiel?