Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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 如何保护全局范围变量并防止用户通过控制台访问它_Javascript - Fatal编程技术网

Javascript 如何保护全局范围变量并防止用户通过控制台访问它

Javascript 如何保护全局范围变量并防止用户通过控制台访问它,javascript,Javascript,我在全局范围内声明了一些特殊变量。现在我有点担心,因为存储在这些变量中的数据是我正在处理的应用程序的核心 在尝试通过控制台访问它时,我发现它非常容易,而且还没有完全安全 如何使其难以访问,并确保这些变量仍在全局范围内 代码: `//declare special variables global scope and use it throughout the application when needed var recipientsInfo = [], recipi

我在全局范围内声明了一些特殊变量。现在我有点担心,因为存储在这些变量中的数据是我正在处理的应用程序的核心

在尝试通过控制台访问它时,我发现它非常容易,而且还没有完全安全

如何使其难以访问,并确保这些变量仍在全局范围内

代码:

`//declare special variables global scope and use it throughout the application when needed

var recipientsInfo          = [],
    recipients              = [],
    buddyList               = [],
    webMessengerDataAr      = [],
    __ActiveConlog_data     = [],
    activeConArray          = [];

谢谢。

试着在iLife中捆绑您的代码

(function() {
    // your variable goes here
})();
然后您的变量不再在全局范围内,而是创建新范围

如果你不知道什么是生活,看看这页。
另外,一个避免基于IIFE调用的全局作用域的有用模式可能会对您有所帮助。

这很简单:如果您的代码中有变量,并且您希望安全地存储它们,那么基本上您必须将它们放入自调用匿名函数中,该函数将像闭包一样工作

(function() {
    // just drag your whole code from your script.js and drop it here
})();

阅读更多信息:

将它们存储在函数中?如果它们在全局范围内,则无法阻止访问。必须指出,这不会使代码更安全。用户可以使用调试器访问和修改变量。你不能阻止它。ups,对不起,我没有读到你想要的解决方案仍然在全局范围内我在一个网站上找到了这个…但我不知道如何在其他函数中使用变量…你能帮我吗?它确实很简单!。所以在本例中,它声明了匿名函数,然后立即调用自己。很好的解决方案。谢谢