好的,在NodeJS环境下试验CommonJS模块系统。
module.exports = pricingCalculator;
function pricingCalculator (options) {
var target = {};
return target;
}这是可行的。假设pricingCalculator的变量声明被提升到函数作用域的顶部,所以排序错误并不重要,因为函数无论如何都是通过引用传递的。我明白了。我不明白的是为什么下面这两个版本可以工作:
module.exports = pricingCalculator;
var pricingCalculator = function (options) {
var target = {};
return target;
}失败。
module.exports = pricingCalculator;
pricingCalculator = function (options) {
var target = {};
return target;
}失败。好奇地想要深入了解正在发生的事情。
发布于 2010-12-30 23:47:57
在第一个例子中,函数是在赋值之前定义的(java脚本方式)。
在第二和第三个例子中,赋值是按顺序执行的。
http://studiokoi.com/blog/article/execution_order_of_functions_and_variables_in_javascript_and_actionscript
https://stackoverflow.com/questions/4563768
复制相似问题