Общие функции и функции - PullRequest
       24

Общие функции и функции

1 голос
/ 19 марта 2011

Я использую Backdraft Loader, который соответствует стандарту CommonJS.Я пытаюсь понять, как все работает, но теперь мне нужен совет.

Допустим, я хочу получить метку времени, и я делаю это:

define(function(){
    return (new Date()).getTime()
});

Тогда я делаю простое требованиеи попробуйте запустить его:

require(['timestamp'],function(timestamp) {
    console.log(timestamp())
    console.log(timestamp())
    console.log(timestamp())
}

Теперь я получаю одну и ту же метку времени 3 раза от точки, когда была оценена функция метки времени.Делает ли define () автоматическое закрытие или что происходит?

Я изучаю функциональное программирование, поэтому непонимание, как выполнять эти небольшие функции, которые можно использовать повторно, мешает моим усилиям:)

1 Ответ

1 голос
/ 11 января 2012

Это не о функциональном программировании. Речь идет об определении модуля CJS.

В приведенном выше примере после того, как вам потребуется модуль "timestamp", загрузчик Backdraft (предположим, он работает так же с RequireJS, поскольку я не знаю Backdraft) поможет создать новую отметку времени и ее кешировать. Поэтому каждый раз, когда вы вызываете эту функцию. Возвращает то же значение.

...