假设我有一个名为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文
2回复

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

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

在express / node中使用全局变量

试图找到解决方案,我找到了4个解决方案,但我想知道哪个是更好/最佳实践。 为什么! :P 1.使用req.app.get() 2.使用req.app.settings(类似于上面) 3.导出app对象,这样我就可以访问没有req对象的app.get() 4.使用
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聊天并在此处查看了这个大问题之后,我理解我错误地构造了我的问题(显然是我的代码)。 我试图访问一个直
2回复

Node.js全局变量作用域问题

我对Node.js很陌生。 在以下代码中,我从API获取json数据。 data_json是我的全局变量,我分配了请求函数返回的数据。 在该函数中,json数据可以正常打印。 但是我尝试在请求函数之外打印相同的数据,但是什么也没打印出来。 我犯什么错误?
1回复

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

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

Javascript-全局变量和全局范围内的变量是否不同(在jsfiddle中)?

全局变量和全局范围内的变量是否不同? 请参见下面的代码或JSfiddle实现-http: //jsfiddle.net/2ngj9rqa/ 。
3回复

从不同函数访问变量而不创建全局变量

我最近开始使用CasperJS来进行Web自动化,有些东西让我感到困惑。 如何从一个函数访问局部变量到另一个函数? 例如: 我知道someVar不在第二个函数的范围内,但如何在不定义全局变量的情况下访问第二个函数中的someVar ?