我想创建一个全局可访问的变量。 当我们想要改变时,它必须改变。 更改后,必须提供更改后的值。
var language ="english";
function getGlobalVar(varName) {
if(varName == "language"){
return language;
}
}
function setGlobalVar(varName, value) {
if(varName == "language"){
language = value;
}
}
当我们在其他页面中使用getGlobalVar(“language”)时,它必须提供更改的值。
答案 0 :(得分:4)
全局变量只是附加到window
的变量:
window.language = 'english';
function getGlobalVar(bar) {
return window[bar];
}
建议您创建自己的命名空间以避免以后出现问题:
window.MY = {};
MY.language = 'english';
答案 1 :(得分:2)
当我们在其他页面中使用getGlobalVar(“language”)时,它必须给出 改变了价值
网络使用无状态协议,即信息不会在页面之间持续存在。为了解决这个问题,您可以在客户端使用cookie,或者在会话等服务器端解决方案。
试试这个:
1.htm
<script type="text/javascript">
window.val = "hello world";
alert(window.val);
window.location.href = "2.htm"
</script>
2.htm
<script type="text/javascript">
alert(window.val);
</script>
cookie示例:
1.htm
<script type="text/javascript">
var in_one_year = new Date();
in_one_year.setFullYear(in_one_year.getFullYear() + 1);
document.cookie = "language=English" +
";expires=" + in_one_year.toGMTString();
all_cookies = document.cookie
alert(all_cookies);
window.location.href = "2.htm"
</script>
2.htm
<script type="text/javascript">
alert(document.cookie);
</script>
答案 2 :(得分:0)
支持本地存储的大多数浏览器的另一种解决方案。