Что “возврат функционирует () {…}”, делают в JavaScript?

В правом верхнем углу проблем область является кнопкой фильтра (это похоже на три стрелки, указывающие направо), нажимая, который позволит Вам настроить представление. Можно отфильтровать элементом, таким как класс, который Вы редактируете или рабочий набор, тип проблемы (например, проблемы Java, проблемы файла компоновки и т.д.) и серьезностью. Это на самом деле очень настраивается.

См. http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.user/concepts/cprbview.htm для деталей и снимков экрана.

8
задан Shog9 4 August 2011 в 00:54
поделиться

5 ответов

Он выполняет функцию, которую возвращает f .
f возвращает функцию, которая вызывает предупреждение, которое отображает вывод функции, которую вы указали в качестве параметра для f .

РЕДАКТИРОВАТЬ: Просто замените некоторые части, чтобы было удобнее для глаз, и вы увидите себя:

var f = function(a) {
    var output = a();
    var alertCaller = function() {
        alert(output);
    };
    return alertCaller;
};

var helloWorld = function() { return "Hello World"; }
var result = f(helloWorld); //f takes a function as argument
result(); //result must be a function
9
ответ дан 5 December 2019 в 08:24
поделиться

Это просто функция более высокого уровня, которая в данном случае на самом деле не нужна.

f - это функция, которая принимает другую функцию (называется a ]), а возвращает вновь сгенерированную функцию, которая оценит a и покажет окно предупреждения, показывающее результат.

Таким образом, в нижней строке вызывается f (передавая анонимную функцию который печатает «Hello World»), затем сразу же оценивает анонимную функцию, возвращаемую f , которая оценивает переданный аргумент (который, как вы можете видеть, возвращает «Hello World»), а затем всплывает окно предупреждения.

Опубликованный код функционально эквивалентен

alert("Hello World");

, но есть два дополнительных элемента, которые делают его более сложным:

  1. Вы можете передать произвольную функцию, чтобы сгенерировать строку, которая появляется в окне предупреждения (и это будет лениво вычисляться, что может быть важно - например, функция для печати текущего времени / состояние приложения / использование памяти при отображении предупреждения, а не при создании метода).
  2. Вы можете сгенерировать закрытие, которое будет отображать это предупреждение и затем передавать его, вместо немедленного выполнения предупреждения.

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

  • Вы можете сгенерировать закрытие, которое будет показывать это предупреждение и затем передавать его, а не немедленно запускать предупреждение.
  • Но поскольку ни одно из этих преимуществ на самом деле не используется во фрагменте кода, я могу понять, почему вы запутаться.

  • Вы можете сгенерировать закрытие, которое будет показывать это предупреждение и затем передавать его, а не немедленно запускать предупреждение.
  • Но поскольку ни одно из этих преимуществ на самом деле не используется во фрагменте кода, я могу понять, почему вы должны запутаться.

    6
    ответ дан 5 December 2019 в 08:24
    поделиться

    Это очень сложный способ получить окно предупреждения для отображения «Hello world». Функции являются элементами первого класса в javascript, и их можно передавать другим функциям и из них в качестве параметров.

    3
    ответ дан 5 December 2019 в 08:24
    поделиться

    Этот код создает генератор функций. Первая функция (ссылка на которую хранится в f ) принимает ссылку на другую функцию ( a ). Затем f создает функцию, которая закрывает параметр a и возвращает ссылку на новую функцию, которая будет предупреждать возвращаемое значение a вызванного результата.

    ] Наконец, этот беспорядок вызывается встроенной функцией, и ее результат немедленно вызывается (с открывающей и закрывающей скобками в конце).

    2
    ответ дан 5 December 2019 в 08:24
    поделиться

    f назначается функция, которая принимает функцию в качестве аргумента, вызывает ее и отображает ее возвращаемое значение в предупреждении . Затем вызывается f с функцией, которая при вызове возвращает строку «Hello World» , в результате чего Hello World отображается в предупреждении.

    0
    ответ дан 5 December 2019 в 08:24
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: