Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js模块变量_Javascript_Node.js_Node Modules - Fatal编程技术网

Javascript Node.js模块变量

Javascript Node.js模块变量,javascript,node.js,node-modules,Javascript,Node.js,Node Modules,所以,我想了解NodeJ在什么对象中存储模块中的变量?我知道nodejs模块返回module.exports,所以我尝试在module对象中查找模块变量,但没有任何变量。全局对象也没有此变量 例如: const a = 0; Nodejs中的哪个对象包含我的“a=0”?我可以访问这个对象吗?如何访问?在Node中,就像在所有Javascript环境中一样,存储变量名及其内容的容器称为。每个街区都有这样的环境。当引用变量时(分配值或检索值),解释器检查当前块的LE中是否存在这样的变量。如果没有,

所以,我想了解NodeJ在什么对象中存储模块中的变量?我知道nodejs模块返回module.exports,所以我尝试在module对象中查找模块变量,但没有任何变量。全局对象也没有此变量

例如:

const a = 0;

Nodejs中的哪个对象包含我的“a=0”?我可以访问这个对象吗?如何访问?

在Node中,就像在所有Javascript环境中一样,存储变量名及其内容的容器称为。每个街区都有这样的环境。当引用变量时(分配值或检索值),解释器检查当前块的LE中是否存在这样的变量。如果没有,它将查找下一个外部块中的LE,依此类推,直到找到匹配的变量名,然后根据需要检索或设置值

这个容器完全是引擎内部的,但是-除了通过引用变量,您不能通过JS显式地与它交互。它不是Javascript对象

词法环境和环境记录值纯粹是规范机制,不需要对应于ECMAScript实现的任何特定构件ECMAScript程序不可能直接访问或操作这些值。

它不是模块或节点的特定内容。例如,在浏览器中运行以下代码:

(()=>{
常数a=0;
})();
Nodejs中的哪个对象包含我的“a=0”

不,它不在对象中,它在函数中

我可以访问这个对象吗?如何访问

如果你只是像你描述的那样声明它,你就不能

获取模块外部变量的唯一方法是首先导出它

您必须在链接到module.exports的引用树中找到它。

模块中的所有内容都将被包装到一个函数中,常量将在函数作用域中声明,因此在不导出它的情况下无法将其导出

只需执行以下操作,其他模块即可访问:

module.exports={
a:a
};

不,它不是一个对象。与所有变量一样,它们存储在一个作用域中,您无法访问该作用域。