Мне интересно, в чем причина использования метода call() в JS. Кажется, он дублирует обычный метод вызова this
.
Например, у меня есть код с вызовом().
var obj = {
objType: "Dog"
}
f = function(did_what, what) {
alert(this.objType + " " + did_what + " " + what);
}
f.call(obj, "ate", "food");
Результат - "Собаки съели пищу". Но тот же результат я могу получить назначение функции объекту.
var obj = {
objType: "Dog"
}
f = function(did_what, what) {
alert(this.objType + " " + did_what + " " + what);
}
obj.a = f;
obj.a("ate", "food");
Результат тот же. Но этот способ более понятен и удобен в использовании. Зачем нужен вызов()?