我之前从未使用过本网站,而且我是编程新手,所以请耐心等待。我的作业要求我提示用户输入1到12之间的数字,再次询问他们是否不这样做,并根据输入的数字更改背景颜色。在6变为红色时,6为白色,6以上为蓝色。
出于某种原因,如果我注释掉if / if-else / else块,则在此之前提示。如果我取消注释它,网页上什么都没发生,我不知道为什么。有人能告诉我我做错了吗?
<script>
var userNum = window.prompt("Please insert a number between 1 and 12...", "1 - 12");
if((userNum <= 12) && (userNum >= 1))
{
document.write
(
userNum + " * 1 = " + userNum * 1;
userNum + " * 2 = " + userNum * 2;
userNum + " * 3 = " + userNum * 3;
userNum + " * 4 = " + userNum * 4;
userNum + " * 5 = " + userNum * 5;
userNum + " * 6 = " + userNum * 6;
userNum + " * 7 = " + userNum * 7;
userNum + " * 8 = " + userNum * 8;
userNum + " * 9 = " + userNum * 9;
userNum + " * 10 = " + userNum * 10;
userNum + " * 11 = " + userNum * 11;
userNum + " * 12 = " + userNum * 12;
)
if(userNum < 6)
{
window.bgColor = "red";
}
else if(userNum > 6)
{
window.bgColor = "blue";
}
else
{
window.bgColor = "white";
}
}
else if((userNum > 12) || (userNum < 1))
{
window.alert("Error: Input value outside requested range");
window.reload();
}
else
{
window.alert("Error: Input value not a number");
window.reload();
}
</script>
答案 0 :(得分:1)
如果我取消注释,网页上根本没有任何反应,我不知道为什么。
使用浏览器内置的调试工具。例如,如果您使用的是Chrome,请阅读其开发工具here。搜索插入浏览器名称的“XYZ dev工具”将查找有关浏览器开发工具的信息。
其中一个关键是控制台,您可以在大多数操作系统上通过Ctrl + Shift + I或F12以及在Mac OS上通过Cmd + Shift + I访问。在控制台中,您会在;
调用中的第一个document.write
上看到语法错误,因为您不能在表达式中间放置;
。您可能还想分隔您输出的行,因此最小更改版本可能是:
var userNum = window.prompt("Please insert a number between 1 and 12...", "1 - 12");
if((userNum <= 12) && (userNum >= 1))
{
document.write
(
userNum + " * 1 = " + userNum * 1 + "<br>" +
userNum + " * 2 = " + userNum * 2 + "<br>" +
userNum + " * 3 = " + userNum * 3 + "<br>" +
userNum + " * 4 = " + userNum * 4 + "<br>" +
userNum + " * 5 = " + userNum * 5 + "<br>" +
userNum + " * 6 = " + userNum * 6 + "<br>" +
userNum + " * 7 = " + userNum * 7 + "<br>" +
userNum + " * 8 = " + userNum * 8 + "<br>" +
userNum + " * 9 = " + userNum * 9 + "<br>" +
userNum + " * 10 = " + userNum * 10 + "<br>" +
userNum + " * 11 = " + userNum * 11 + "<br>" +
userNum + " * 12 = " + userNum * 12 + "<br>"
);
if(userNum < 6)
{
window.bgColor = "red";
}
else if(userNum > 6)
{
window.bgColor = "blue";
}
else
{
window.bgColor = "white";
}
}
else if((userNum > 12) || (userNum < 1))
{
window.alert("Error: Input value outside requested range");
window.reload();
}
else
{
window.alert("Error: Input value not a number");
window.reload();
}
但其他一些说明:
document.write
。使用DOM API(或像jQuery这样的包装器库)在页面上显示信息更有用。if
是多余的,除非您有意允许用户输入非数字并依赖与NaN
的比较始终为假。bgColor
属性很久以后被CSS弃用并取代。所以document.body.style.backgroundColor = "color-goes-here";
。