假设我有一个名为myData的全局变量。 声明为myData = 1; 在脚本的开头。

目标:

我想创建一个不会以任何方式访问此myData模块。 myData必须在其他模块中保持全局。

注意:是的,我已经知道我可以在需要的每个页面中都需要myData ,但这不是我想要的。


尝试次数:

为此,在模块的开头,我写道: var myData; 该模块不再可以通过myData直接访问myData

问题:您仍然可以通过GLOBAL.myData访问它

所以我改为写var myData, GLOBAL; 在模块的开头。


有人可以通过其他方式访问myData吗? 如果是这样,我该如何预防呢?

  ask by RainingChain translate from so

本文未有回复,本站智能推荐:

1回复

带有全局变量的Javascript中有趣的范围问题

我有一个包含许多模块的大型JS应用程序,最终将与browersify.捆绑在一起browersify. 但是因为我不想让我的整个团队安装Node.js并在每次更改角色时重建,我希望模块在开发时全局注册。 我一直在使用标准注册模块,如下所示: 这是它变得时髦的地方:当在主app.js文件中
1回复

在express/node中使用全局变量

试图找到解决方案,我找到了4个解决方案,但我想知道哪个是更好/最佳实践。 为什么! :P 1.使用req.app.get() 2.使用req.app.settings(类似于上面) 3.导出app对象,这样我就可以访问没有req对象的app.get() 4.使用全局变量。
2回复

Javascript:从另一个js文件访问全局变量时,其值会丢失

我正在使用nodejs和socket.io制作一个应用程序(游戏)。 我只有几个javascript文件,这里需要考虑三个: userDetails.js , board.js和modal.html 。 现在,让userDetails.js文件具有一个声明的变量: var myUserN
2回复

在函数内初始化一个nodejs全局变量并让它等同于在外部调用它

所以当涉及到 nodejs 时,我在范围方面遇到了一些问题。 我想知道如何在全局空间中初始化一个变量,在一个函数(私有范围)中初始化它,然后当你在类中的任何地方调用它时,让它等于你在私有范围中初始化它的内容。 我注意到的一件事是,尽管您可以在私有范围内使用该变量,但在该函数外再次调用它时,它只会变为
1回复

如何限制节点repl实例,使其不能访问全局范围?

在代码中创建新的repl实例时,它会自动访问全局范围内的任何内容。 您可以修改repl上下文以在本地范围内公开一些自定义变量,以便repl可以访问它们,但是我看不到消除对全局范围的访问的简便方法。 我希望我可以给repl一个新的空白全局范围。 这是一个示例repl实例: 在该副本中,
1回复

Node中存储的变量在哪里?[重复]

这个问题在这里已有答案: 模块变量在什么范围内存储在node.js中? 4个答案 在任何Web浏览器中,执行以下脚本将导致'wee'被发送到控制台。 在Node中,它发送{} 。 我意识到在Node中this指的是导出对象。 我知道global变量,这不是我想要访问的
3回复

Javascript-从If/Else块外部调用变量返回未定义

我认为这是在if / else全局块中创建变量的方式(案例3)。 为什么我不能在函数外部访问变量? 解 嗯,这里的问题是了解异步的真正含义之一。 在与@AmmarCSE聊天并在此处查看了这个大问题之后,我理解我错误地构造了我的问题(显然是我的代码)。 我试图访问一个直到函数完成
1回复

无论如何,有没有改变函数中全局变量的值并在js的本地范围之外访问

无论如何,是否可以在函数中更改全局变量的值并在javascript或nodejs中访问函数外部的全局变量的更改的值... 实际输出为8,但我希望x的值为10。是否可以在javascript或nodejs中使用