Javascript 全局变量不会改变值

Javascript 全局变量不会改变值,javascript,html,Javascript,Html,所以我的HTML页面中有两个javascript文件 <script src="File1.js"> </script> <script src="File2.js"> </script> 这个函数呢 function LoadUser() { X="1"; } 现在,在第二个文件中,我有这个函数 function WhoIsLog() { alert(X); } 问题是,即使cookie结果带来了预期的值,X也不会改变它的值

所以我的HTML页面中有两个javascript文件

<script src="File1.js">
</script>

<script src="File2.js">
</script>
这个函数呢

function LoadUser()
{
    X="1";

}
现在,在第二个文件中,我有这个函数

function WhoIsLog()
{
  alert(X);
}
问题是,即使cookie结果带来了预期的值,X也不会改变它的值。我需要第二个文件中的X个新值。警报结果始终为“-1”


我还确认LoadUser()是第一个运行的函数。

为了确保它是全局函数,请将其分配给窗口obj

window.x = -1;

或者在jsfiddle中发布整个代码。

是否在
WhoIsLog()
之前调用
LoadUser()
?是的。首先,页面加载并运行函数LoadUser()。然后我单击一个按钮运行WhoIsLog()函数,警报将保持为“-1”。我认为您应该发布这两个文件的全部代码。我无法重现您的问题@KevinB-第一个函数应该在第一个文件中(我不确定每个函数的调用是在哪个文件中进行的..OP,帮助我们?)您可能希望使用大写
X
,但我同意,除非需要,否则我会使用小写,因为这可能会导致混淆…绝对同意,我不使用泛型(一个字母)名称,因为它可能与共同财产冲突Weeeee同意各方!这很有效。IDK了解窗口的含义,但它确实有效。
window.x = -1;