码迷,mamicode.com
首页 > Web开发 > 详细

Node.js中module文件定义的top-level变量为何是私有的

时间:2018-10-21 22:26:31      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:链接   export   file   ref   访问   font   http   module   live   

在Node.js中,module文件里面使用var,const或者let定义的top-level变量为何是私有的,只能在这个模块文件中使用呢?

原因就是,在模块文件中的内容执行之前,node.js会降模块文件包含在一个函数当中,像下面这样:

(function(exports, require, module, __filename, __dirname) {
// Module code actually lives in here
});

这样处理之后,module文件里面定义的top-level变量,实际上就是函数内部的局部变量了,如果不实用exports导出,外部是无法访问到的。

 

参考链接:

https://nodejs.org/api/modules.html#modules_the_module_wrapper

Node.js中module文件定义的top-level变量为何是私有的

标签:链接   export   file   ref   访问   font   http   module   live   

原文地址:https://www.cnblogs.com/chaoguo1234/p/9827267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!