我想在我的函数之前声明一个或多个变量,但是当我这样做时函数无法工作。我知道在函数内部声明的变量是只在函数范围内工作的局部变量。为什么我的变量不能在我的函数之外/之前作为“全局”变量工作?
<script type="text/javascript">
var visitors = document.getElementById('tb254597').value;
function limitVisitors() {
if ( visitors > 60 ) {
alert("We can only accommodate 60 people on a group visit. You entered " + visitors + " visitors.");
}
}
</script>
最佳答案
将变量声明和初始化移到函数内部,因为您在开始时从它获取初始值而不是实际值。
如果你需要的变量不在函数外,最好把它放在函数内。
使用
parseInt()
将值更改为数字,因为您从输入中获取了一个字符串。在某处调用函数
limitVisitors()
,可能是在提交时。
function limitVisitors() {
var visitors = parseInt(document.getElementById('tb254597').value, 10);
if ( visitors > 60 ) {
alert("We can only accommodate 60 people on a group visit. You entered " + visitors + " visitors.");
}
}
limitVisitors();
关于JavaScript 函数不适用于在函数之前声明的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36317854/