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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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_Variables - Fatal编程技术网

在客户端的不同javascript文件中共享变量

在客户端的不同javascript文件中共享变量,javascript,variables,Javascript,Variables,实际上我正在经历这一切。这解释了我们如何在多个js之间共享全局变量。但关键是,如果我将一些变量放入一个js中,并且需要传递到同一文档中第一个js之后提到的另一个js,那么需要做什么。 接下来的方法是: 脚本1 body添加了一些id为myHiddenId的隐藏输入,其中的值是使用client.js设置的 脚本2 在脚本2中,我只是使用$(“#myHiddenId”).val()并用于我的目的 我想知道我是否遵循了正确的方法,因为那个隐藏字段可能有一些客户不应该知道的数据。有没有其他方法可以在js

实际上我正在经历这一切。这解释了我们如何在多个js之间共享全局变量。但关键是,如果我将一些变量放入一个js中,并且需要传递到同一文档中第一个js之后提到的另一个js,那么需要做什么。
接下来的方法是:
脚本1

body添加了一些id为myHiddenId的隐藏输入,其中的值是使用client.js设置的
脚本2

在脚本2中,我只是使用
$(“#myHiddenId”).val()并用于我的目的


我想知道我是否遵循了正确的方法,因为那个隐藏字段可能有一些客户不应该知道的数据。有没有其他方法可以在js文件中传递变量值?因为我是初学者,所以我挖掘了一些资源/书籍,但仍然没有运气。

如果客户端不应该知道这些数据,那么就不应该使用客户端JavaScript。用户可以调试和查看浏览器中执行的任何JavaScript

您应该始终在服务器端处理敏感数据

将变量保存在JavaScript文件或隐藏元素中没有什么区别

关于跨文件使用变量,那么您应该能够使用脚本2脚本1中声明的任何变量,前提是它们在根范围中声明,并且脚本1出现在DOM中脚本2之前

<script> // Script 1
    var root_scope = 'This variable is declared at root';
    function some_function() {
        // Variables not defined at root are subject to the scope they are in
        var non_root = 'This is not at root';
    }
</script>

<script> // Script 2
    // Use the variable declared in Script 1:
    alert(root_scope); // This variable is declared at root
    // Note: declaring at root is the same as assigning to window
    alert(window.root_scope); // This variable is declared at root
    alert(typeof non_root); // undefined
</script>
//脚本1
var root_scope='此变量在根位置声明';
函数some_函数(){
//未在根目录下定义的变量受其所在范围的约束
var non_root='这不是根';
}
//脚本2
//使用脚本1中声明的变量:
警报(根目录范围);//此变量在根位置声明
//注意:在根目录下声明与分配给窗口相同
警报(window.root_范围);//此变量在根位置声明
警报(非_根的类型);//未定义

将变量保存在JavaScript文件或隐藏元素中没有什么区别。是否有其他方法使其更安全?否。客户端javascript处理的任何数据都是不安全的。如果您只是不希望用户注意到您的变量,那么可以使用javascript变量或隐藏的输入标记。