javascript - 你如何加载 2 个 javascript 文件,它们之间可能有公共(public)变量并在 HTML 页面上访问它?

标签 javascript html

我得到了这个 HTML 页面。我想从 2 个具有公共(public)变量的 javascript 文件访问变量。我必须从这些变量中获取与各自 javascript 相关的值。我尝试使用 <script> 加载它们但是当我访问js变量时,它只从最后一个js文件中获取值,换句话说,最后加载的js文件覆盖了变量值,只有这些值可以访问。我非常感谢这方面的帮助。

谢谢!!!

最佳答案

您需要为变量命名空间或使用不同名称的变量。听起来你正在做的相当于:

var x = 'foo';
var x = 'bar';

console.log(x);

    > bar

这应该是有道理的。但是,如果您使用 namespace ,事情会更好。考虑两个文件,script-1.jsscript-2.js:

// script-1.js
var s1 = {
    x:'foo'
}

// script-2.js
var s2 = {
    x:'bar'
}

……那么……

console.log(s1.x);

    > foo

console.log(s2.x);

    > bar

当然,这是一个相当陈腐的例子。

编辑

如果您不能自己更改文件,请执行此操作 - 在加载脚本 1 之后但在加载脚本 2 之前将值保存为其他名称/对象:

<script type="text/javascript" src="script-1.js"></script>

<script type="text/javascript">
    var s1 = {
        // Save off values here
        x:x,
        y:y
    }
</script>

<script type="text/javascript" src="script-2.js"></script>

// Then...
console.log(s1.x);  // will output the value from script-1.js
console.log(x);     // will output the value from script-2.js

不漂亮,但应该可以正常工作。

关于javascript - 你如何加载 2 个 javascript 文件,它们之间可能有公共(public)变量并在 HTML 页面上访问它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14327752/

相关文章:

javascript - 这个js语法叫什么?

javascript - 外部元素的 slider 控制

javascript - 使用 jQuery 计算所有 div 元素并在 span 内添加每个数字

javascript - 带有动画/过渡的 JQuery 加载

javascript - 滚动后关闭按钮不起作用

javascript - 在 ng-click AngularJS 上动态更改 div 内容

javascript 数组原型(prototype) - 添加了新方法 - 奇怪的 console.log

javascript - 如何使用 React Redux 调用 const click 函数内的函数?

javascript - Onsubmit 在 div 上显示成功消息

javascript - 排序表时如何在span元素上触发