Apply
Синтаксис
apply(thisArg, argArray)
Параметры
thisArg ( вызываемый объект )
arg1, arg2, ... ( параметры вызываемого объекта )
apply позволяет применять методы одних объектов в контексте других ( вызывающих ). Так же как и в call объект this может принимать заданное значение ( this будет указывать на текущий, вызвавший объект ). Apply очень напоминает call, отличие лишь в типах параметров ( аргументов ) вызываемого объекта. В методе apply возможно использование любых типов массивов. Например: apply(this, new Array(name, value)). Разрешается так же использовать свойства вызываемого объекта. Можно использовать arguments для передачи всех параметров вызываемому обекту.
Пример:
function product(name, value) { this.name = name; if(value > 1000) this.value = 999; else this.value = value; } function prod_dept(name, value, dept) { this.dept = dept; product.apply(product, arguments); } prod_dept.prototype = new product(); cheese = new prod_dept(feta, 5, food); car = new prod_dept(honda, 5000, auto);