Javascript提示和变量
我学会了C我想至少是C。。。在过去,我们的UNI分配要求我们使用javascript在HTML文档中生成代码,该文档使用输入值并确定它是什么类型的土壤 我的代码不起作用。这与本节有关Javascript提示和变量,javascript,variables,Javascript,Variables,我学会了C我想至少是C。。。在过去,我们的UNI分配要求我们使用javascript在HTML文档中生成代码,该文档使用输入值并确定它是什么类型的土壤 我的代码不起作用。这与本节有关 var soilsize = 20; var valid = false; while (valid = false){ //do while valid is false
var soilsize = 20;
var valid = false;
while (valid = false){ //do while valid is false
var soilsize = prompt("Please enter soil size in millimetres");
if (soilsize = null) || (isNaN(soilsize)) || (soilsize <0) { // if nothing was entered, if the entered value is not a number, or if size is < 0
prompt("This is not a positive number.");
var valid = false;
}
else{
var valid = true;
}
}
我还需要预定义变量吗?
感谢您的帮助。我可以上传完整的代码,如果需要的话。谢谢伙计们。你们已经宣布soilsize有效。您不应该在整个循环中使用var重新定义它们 正确的代码应该是:
var valid = false;
while (!valid) { //do while valid is false
var soilsize = prompt("Please enter soil size in millimetres");
if (soilsize == null || (isNaN(soilsize) || (soilsize <0))) { // if nothing was entered, if the entered value is not a number, or if size is < 0
alert("This is not a positive number.");
valid = false;
} else {
valid = true;
}
}
但请记住,这样做,您将永远无法在没有有效值的情况下离开,也不会显示警报,因为您将重新请求soilsize值。问题在于while valid=false和if soilsize=null。在JavaScript中,一个等号赋值-需要两个进行比较,可以使用三个进行严格比较。while块也存在同样的问题。它从不进入循环。您可以将其更改为whilevalid,但可以使用true对其进行初始化,并使用:valid=true反转if块内的值,不要再次设置var valid。其他事项:您的if块格式不正确,请更改为:if soilsize==null | | | isNaNsoilsize | | | soilsize更不用说语法错误了…请阅读上的文档。有大量的语法和语义错误,但重新声明没有什么区别,因为没有函数为var变量提供额外的嵌套范围。