Java Script return function() {}

203
10 мая 2017, 09:05

Здравствуйте. Можете подсказать в чём разница между return function в которой внутри тоже находится return со значением от function без return. Пример:

function makeCounter() {
  var currentCount = 1;
  return function() { 
    return currentCount++;
  };
}
function makeCounter() {
  var currentCount = 1;
  function() { 
    return currentCount++;
  };
}
Answer 1

Вторая функция вызовет ошибку, так как она неправильно объявлена.

Разница в том что в первом случае вернется сама функция.

a = function makeCounter() {
  var currentCount = 1;
  return function() { // возвращается функция а не currentCount++;
    return currentCount++; 
  };
}

Если нужно получить результат второго return, воспользуйтесь самовызывающейся функцией.

function a (var1, var2, var3) {
    return (function (c, b, v) {
    return c+b+v; // возвращается функция, которая сразу же после объявления 
                  // выполняется, поэтому возвращается сумма.
  })(var1, var2, var3);
};
READ ALSO
Прокси для вкладок в расширении Google Chrome

Прокси для вкладок в расширении Google Chrome

ЗдравствуйтеПытаюсь написать плагин для Хрома

613
JQuery дочерние элементы

JQuery дочерние элементы

Всем привет, есть такой список, мне нужно чтобы при нажатии на определенный элемент, он открывал дочерний подпункт а не все сразу

267
Как корректно ограничить область Drag'n'Drop?

Как корректно ограничить область Drag'n'Drop?

Есть маленький div внутри большого divЧерез JS применен Drag'n'Drop к малому div

199
JS, отслеживание изменений в DIV

JS, отслеживание изменений в DIV

Доброго времени суток

462