gpt4 book ai didi

Javascript 全局变量未初始化

转载 作者:行者123 更新时间:2023-12-03 09:36:17 25 4
gpt4 key购买 nike

我正在制作一个从文本框()获取输入的网页。该页面还具有执行不同功能的三个按钮。这些函数共享许多变量,因此我将大部分变量设为全局变量。我的问题是,当我在文本框中输入文本并单击按钮时,函数会运行,但全局变量不会初始化,因此函数无法正常运行。我需要在函数运行之前初始化变量。我已将代码尽可能简化以仍然显示问题。我的原始代码有三个按钮和三个函数,这就是我需要使用全局变量的原因。

<html>
<head>
<body>
<form>
<br><input type="text" class="boxleft" placeholder="type here..." id="Age"/>

<br> <input type="text" id="retireAge" class="boxleft" placeholder="type here..." />
</form>

<button id="test" onclick="CalcNW()" >Test</button>

<script type="text/javascript">
//global variables
var age = document.getElementById("Age").value;
var rage = document.getElementById("retireAge").value;

function CalcNW() {
var workingyears = rage - age;
alert(workingyears);
}
</script>
</body>
</html>

在此示例中,该函数将无法正常工作,因为 rage 和 Age 为空。无论如何,有没有办法在运行任何函数之前初始化全局变量?

最佳答案

将 js 代码包装在 window.onload 中

window.onload = function(){
var age = document.getElementById("Age").value;
var rage = document.getElementById("retireAge").value;

function CalcNW() {
var workingyears = rage - age;
alert(workingyears);
}
}

关于Javascript 全局变量未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31325039/

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