Всегда забывайте об использовании этих двух вещей и запишите их, чтобы сделать запись.
Их функции точно одинаковы, но параметры, проходящие в разные
применять
Применить принимает два параметра. Первый из них формулирует указание этого объекта в корпусе функции, а второй - это набор с подписками (объект может быть пройден). Метод применения передает элементы в этом наборе в качестве параметров к вызовочной функции:
var func = function (a, c, c) {alert ([a, b, c]); //*,2,3§func.apply(null, [1,2,3]);вызов
Параметры, передаваемые в вызове, не исправлены. Так же, как применить, это то, что первый параметр также представляет это указывает в корпусе функции. После начала второго параметра каждый параметр передается в функцию в последовательности:
var func = function (a, b, c) {alert ([a, b, c]); //*,2,3§func.call(null, 1,2,3);Вызов - это синтаксический сахар Aplly. Если первый параметр является нулевым, это в корпусе функции указывает на объект хоста, который является окном в браузере.
Использование вызова и применить
1. Измените эту точку зрения
Приведенный выше пример
2. function.prototype.bind
Симулировать функции.prototype.bind
Function.prototype.bind = function (context) {var self = this; return function () {return self.apply (контекст, аргументы); }}; var obj = {name: 'cxs'}; var func = function () {alert (this.name); // cxs} .bind (obj); fun ();