JavaScript更改全局变量

JavaScript更改全局变量,javascript,Javascript,我有2个JS文件,我需要将2个变量从一个传递到另一个。为此,我在B.js中将变量声明为全局变量,并尝试从A.js更改它们。这不管用。我已经在html中正确引用了这两个文件。现在,我试图通过从a.js调用函数并将变量作为参数传递来更改B.js中的变量 B.js: A.js: js中的函数正确地获取了参数,但是我似乎找不到改变全局变量的方法。他们仍然像以前一样 编辑:我从A.js解析的值是非空字符串。我也试过:init'test','test'; 但是全局变量仍然没有受到影响 编辑2: 下面是更多代

我有2个JS文件,我需要将2个变量从一个传递到另一个。为此,我在B.js中将变量声明为全局变量,并尝试从A.js更改它们。这不管用。我已经在html中正确引用了这两个文件。现在,我试图通过从a.js调用函数并将变量作为参数传递来更改B.js中的变量

B.js:

A.js:

js中的函数正确地获取了参数,但是我似乎找不到改变全局变量的方法。他们仍然像以前一样

编辑:我从A.js解析的值是非空字符串。我也试过:init'test','test'; 但是全局变量仍然没有受到影响

编辑2: 下面是更多代码: index.html:

<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="screen" href="main.css">
<script src="A.js"></script>
<script src="B.js"></script>

</head>

<body>

<input type="text" name="" id="inp">
<a href="" onclick="pass()">Go</a>


</body>

</html>
B.js:

您使用两个变量作为参数调用initresponse,un,但第一个变量response尚未定义,第二个变量un在代码开头定义为空字符串

使用两个非空字符串调用init,您将看到全局变量un和re得到正确更新

var re=; var un=; 函数初始化响应字符串,用户名字符串{ re=响应字符串; un=用户名\字符串; } inittest1,test2; console.logre;
console.logun;给我们看一个复制问题。您所显示的内容有一个未定义的变量,另一个将使用空stringun never changes设置自身。什么是响应?是否涉及像ajax这样的异步操作?如果没有更多的代码上下文,当适当的值传递给init时,您正在显示的内容应该可以正常工作。老实说,我对js非常陌生,所以我不能100%确定。但是我可以告诉你,相关的部分是纯js。然后给我们展示更多的代码上下文。。。在哪里设置,以及在设置变量后尝试访问这些变量的位置。您可能会遇到问题的原因很多,我们无法猜测,我怀疑OP也有同步性问题,它们都是非空字符串。我甚至可以在init函数中执行console.logresponse\u字符串,并且我得到了正确的字符串作为输出,我只是不能更新全局变量。@b3nj4m1n您还没有发布足够的代码,其他人无法复制并因此解决问题。
init(response, un);
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="screen" href="main.css">
<script src="A.js"></script>
<script src="B.js"></script>

</head>

<body>

<input type="text" name="" id="inp">
<a href="" onclick="pass()">Go</a>


</body>

</html>
function pass() {
var text = document.getElementById('inp').value;
pass2(text);
}
var global_string = '';

function pass2(v) {
console.log(v);
global_string = v;
}