Хорошо, экспериментируем с модульной системой CommonJS в контексте NodeJS.
module.exports = pricingCalculator;
function pricingCalculator (options) {
var target = {};
return target;
}
Это работает. Предположительно, объявление переменной priceingCalculator находится в верхней части области действия функции, поэтому неправильный порядок не имеет значения, так как функция все равно передается по ссылке. Я понимаю. Я не понимаю, почему работают следующие две версии:
module.exports = pricingCalculator;
var pricingCalculator = function (options) {
var target = {};
return target;
}
Неудача.
module.exports = pricingCalculator;
pricingCalculator = function (options) {
var target = {};
return target;
}
Неудача. Любопытно глубоко понять, что происходит.