gpt4 book ai didi

JavaScript 更改全局变量

转载 作者:行者123 更新时间:2023-12-02 23:53:10 26 4
gpt4 key购买 nike

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

B.js:

var re = '';
var un = '';

function init(response_string, username_string) {
re = response_string;
un = username_string;
}

A.js:

init(response, un);

B.js 中的函数正确获取参数,但是我似乎找不到更改全局变量的方法。它们仍然是“”。

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

编辑2:更多代码如下:索引.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>

A.js:

function pass() {
var text = document.getElementById('inp').value;
pass2(text);
}

B.js:

var global_string = '';

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

最佳答案

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

使用两个非空字符串调用 init(),您将看到全局变量 unre 已正确更新.

var re = '';
var un = '';

function init(response_string, username_string) {
re = response_string;
un = username_string;
}

init("test1","test2");
console.log(re);
console.log(un);

关于JavaScript 更改全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55551036/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com