Читая книгу Ресига по Javascript, и не понимаю строчку
this.apply(this, arguments);
Получается если развернуть эту функцию. this - это фунция isPrime() это же и контекст
получается мы на функцию isPrime(как контекст) применяем ее саму же как функцию.
IsPrime.isPrime(arguments);
В чем смысл вызывания функции на самой себе? Или может быть какое то из этих this это не функция -а глобальный объект?
Function.prototype.memoized = function(key){
this._values = this._values || {};
return this._values[key] !== undefined ?
this._values[key] :
this._values[key] = <b>this.apply(this, arguments);</b>
};
function isPrime(num) {
var prime = num != 1;
for (var i = 2; i < num; i++) {
if (num % i == 0) {
prime = false;
break;
}
}
return prime;
}
console.log(isPrime.memoized(5),
"The function works; 5 is prime.");
console.log(isPrime._values[5],
"The answer has been cached.");
</code >