Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.08.2016, 10:37
Новичок на форуме
Отправить личное сообщение для swedenborg Посмотреть профиль Найти все сообщения от swedenborg
 
Регистрация: 31.08.2016
Сообщений: 2

помогите разобраться с кодом
Здравствуйте, имею дело с малопонятной библиотекой (пришла с легаси кодом, выкинуть не могу).

там есть такой кусок

function each(object, callback) {
  var name, i = 0, length = object.length;

  if(length === undefined){
    for(name in object)
      if(callback.call(object[name], name, object[name]) === false)
        break;
  }else{
    for(var value = object[0];
      i < length && callback.call(value, i, value) !== false;
			value = object[++i]) {}
  }
  return object;
}

Function.prototype.extBind = function() {
  var func = this, args = arguments;
  return function() {
    var argsArray = [];
    each(args, function(i, obj) { argsArray[i] = obj; });
    var obj = argsArray.shift(), currArgs = [];
    each(arguments, function(i, obj) { currArgs[i] = obj; });
    return func.apply(obj, currArgs.concat(argsArray));
  }
}


который затем используется в следующем, например, контексте
initCurrent: function(){
		this.updateCurrentOrders();

		this.orders_current_timer = setInterval(function(){
			this.updateCurrentOrders();
		}.extBind(this), 500);
	}

this в данном случае просто окружающий объект и вобщем то ясно, что интервал куда-то биндится. Но я не понимаю смысла всего вышеприведенного кода.

Объясните пожалуйста что именно делает ф-ция extBind.
Ответить с цитированием
  #2 (permalink)  
Старый 31.08.2016, 14:31
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,126

Создает замыкание и возвращает функцию в которой доступны переменные из замыкания (var func , args).
т.е. каждый вызов extBind создает отдельное замыкание в котором свои уникальные (var func , args).
Ответить с цитированием
  #3 (permalink)  
Старый 31.08.2016, 17:05
Новичок на форуме
Отправить личное сообщение для swedenborg Посмотреть профиль Найти все сообщения от swedenborg
 
Регистрация: 31.08.2016
Сообщений: 2

А с какой целью это всё делается?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с кодом sanyok911 Ваши сайты и скрипты 1 10.01.2016 15:09
Помогите разобраться с кодом js_newbie Общие вопросы Javascript 2 11.06.2015 21:11
помогите разобраться с кодом Mc'Intosh (X)HTML/CSS 3 25.03.2015 10:20
Помогите разобраться с кодом Henocra Javascript под браузер 5 15.11.2014 10:16
Помогите разобраться с кодом. TheWanderer Общие вопросы Javascript 10 17.04.2010 13:41