Согласно MDN , вторым аргументом .map(fn, thisArg)
является то, что вы хотите, чтобы this
ptr был установлен при вызове функции обратного вызова, и он будет установлен в глобальный объект (например, window
) если вы не передадите второй аргумент.
Итак, вы можете сделать так, чтобы ваш пример работал так:
function myClass() { this.nums = [1,2,3]; this.divisor = 2; }
myClass.prototype.divideNumsByDivisor = function(){
return this.nums.map(function(num) { return num*this.divisor; }, this);
}