Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не могу понять код (https://javascript.ru/forum/misc/65232-ne-mogu-ponyat-kod.html)

Начинающий-Js-кодер 06.10.2016 07:58

Не могу понять код
 
Здравствуйте!Можете объяснить значения этого кода?
Function.prototype.pbind = function() {
  var args = Array.prototype.slice.call(arguments);
  args.unshift(window);
  return this.bind.apply(this, args);
};
Function.prototype.rpbind = function() {
  var args = Array.prototype.slice.call(arguments);
  args.unshift(window);
  return this.rbind.apply(this, args);
}
Function.prototype.rbind = function() {
  var func = this;
  var args = Array.prototype.slice.call(arguments);
  var obj = args.shift();
  var result = args.shift();
  return function() {
    var curArgs = Array.prototype.slice.call(arguments);
    func.apply(obj, args.concat(curArgs));
    return result;
  }
}

if (!Function.prototype.bind) {
  Function.prototype.bind = function() {
    var func = this, args = Array.prototype.slice.call(arguments);
    var obj = args.shift();
    return function() {
      var curArgs = Array.prototype.slice.call(arguments);
      return func.apply(obj, args.concat(curArgs));
    }
  }
}

что выполняют эти функции?

Начинающий-Js-кодер 06.10.2016 13:20

всмысле ничего важного?

warren buffet 06.10.2016 14:44

Начинающий-Js-кодер, профессор имел ввиду отсутствие смысла изучать чьи-то решения задач, которые никому кроме автора этой хренатени неизвестны.

Aetae 06.10.2016 15:16

Ну последнее - не лучший полифил(замена в случае отсутствия) для метода bind(подробное описание), остальное - специфические вариации bind'a сомнительной полезности.)


Часовой пояс GMT +3, время: 14:15.