Цикл статей «Учебник Javascript».
Следующая статья — «Массивы в Javascript».
Предыдущая статья — «Привязка контекста через bind в Javascript».
С помощью функций call и apply можно вызвать функцию, указав ей вместо её контекста this другой. Их синтаксис:
<имя функции>.call(<новый контекст>, arg1, arg2, arg3…);
<имя функции>.apply(<новый контекст>, <массив аргументов>);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
function MyConstructor() { this.x = 3; this.name = "Vasya"; this.calc = function(a1, a2) { var m = this.x+a1; var n = this.name + a2; return m + " - " + n; }; }; var obj1 = new MyConstructor(); var myNewContext = {x : 999, name : "Tank"}; // Подставляем вместо this функции наш myNewContext alert(obj1.calc.call(myNewContext, 1, "H")); //1000 - TankH alert(obj1.calc.apply(myNewContext, [1, "H"])); //1000 - TankH |
Цикл статей «Учебник Javascript».
Следующая статья — «Массивы в Javascript».
Предыдущая статья — «Привязка контекста через bind в Javascript».