炫意html5
最早CSS3和HTML5移动技术网站之一

js函数内修改全局变量

想法是在一个页面进行操作后,修改全局变量的值,同时可以在另一个页面能够使用被修改后的全局变量的值。

t1.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<button>修改全局变量</button>
<script src="https://q.cnblogs.com/q/137956/t1.js"></script>
</body>
</html>

t1.js:

var name = "空名";
$('#tb').click(
function (){
name = "世纪工程";
alert(name);
}
);

t2.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<p>测试文字</p>
<script src="https://q.cnblogs.com/q/137956/t1.js"></script>
<script src="https://q.cnblogs.com/q/137956/t2.js"></script>
</body>
</html>

t2.js

$(function (){
document.getElementById('tp').textContent = name;
});

测试结果,在 t2.html 中能拿到全局变量 name 的初始值 “空名” 。但是如果在 t1.html 点击按钮后,修改 name = “世纪工程” ,在 t2.html 中任然只能拿到初始值 “空名”。似乎在 click 函数中根本没有修改全局变量 name,而是函数内构造了一个局部变量 name。(js学的还不是很好)
那么该怎么事项在另一个页面中拿到被修改的全局变量的值呢?望大佬传道授业解惑。

回答

把值存入cookie,另外一个页面读取当前域名下的cookie即可。

炫意HTML5 » js函数内修改全局变量

Java基础教程Android基础教程