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

时间:2013-10-18 12:55:09

标签: javascript variables

我实际上正在经历这个link。这解释了我们如何跨多个js共享全局变量。但问题是,如果我将一些变量放入一个js并且需要在第一个js之后传递给同一文档中提到的另一个变量,则需要做什么。
接下来的方法是:
脚本1 <script type="text/javascript" src="js/client.js"></script>
正文 添加了一些ID myHiddenId 的隐藏输入,其中值使用client.js设置
脚本2 <script type="text/javascript" src="js/anotherJS.js"></script>
脚本2 内部我只是使用$("#myHiddenId").val();并用于我的目的。

我想知道我是否遵循正确的方法,因为该隐藏字段可能包含一些客户端不应该知道的数据。有没有其他方法可以通过js文件传递变量值?由于我处于初级水平,因此挖掘了一些资源/书籍,但仍然没有运气。

1 个答案:

答案 0 :(得分:1)

如果客户端不应该知道数据,那么您不应该使用客户端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>