首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CommonJS模块(带有nodejs),奇怪

CommonJS模块(带有nodejs),奇怪
EN

Stack Overflow用户
提问于 2010-12-30 23:20:55
回答 1查看 660关注 0票数 1

好的,在NodeJS环境下试验CommonJS模块系统。

代码语言:javascript
复制
module.exports = pricingCalculator;

function pricingCalculator (options) {
  var target = {};
  return target;
}

这是可行的。假设pricingCalculator的变量声明被提升到函数作用域的顶部,所以排序错误并不重要,因为函数无论如何都是通过引用传递的。我明白了。我不明白的是为什么下面这两个版本可以工作:

代码语言:javascript
复制
module.exports = pricingCalculator;

var pricingCalculator = function (options) {
  var target = {};
  return target;
}

失败。

代码语言:javascript
复制
module.exports = pricingCalculator;

pricingCalculator = function (options) {
  var target = {};
  return target;
}

失败。好奇地想要深入了解正在发生的事情。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-30 23:47:57

在第一个例子中,函数是在赋值之前定义的(java脚本方式)。

在第二和第三个例子中,赋值是按顺序执行的。

http://studiokoi.com/blog/article/execution_order_of_functions_and_variables_in_javascript_and_actionscript

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4563768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档