我希望用户输入他们的号码,看看他们是否可以正确获得幸运数字,但是我不明白为什么我们需要输入var result=false
以及
result=true
var luckyNo;
function generateNumber() {
luckyNo = 55;
}
function match(number) {
var result = false; /* <== here */
// compare number with the luckyNo
// popup box to give hints to user too low or too high or bingo
if (number > luckyNo)
alert("Too high");
else if (number < luckyNo)
alert("Too low");
else {
alert("Bingo!");
// update result if matched (bingo)
result = true; /* <== here */
}
return result;
}
答案 0 :(得分:0)
如果未达到BINGO,则返回false,否则返回true。
这样,您可以if (match(someNumber)) { something() }
这是从函数返回所谓的boolean
的相当标准的方式
function match(number) {
var result = false;
if (number > luckyNo) {
alert("Too high");
} else if (number < luckyNo) {
alert("Too low");
} else {
alert("BINGO");
result = true;
}
return result;
}
generateNumber();
if (match(prompt("enter number"))) {
doSomethingWithTheWinner();
}
//or simpler
function match(number) {
if (number > luckyNo) {
alert("Too high")
return false;
}
if (number < luckyNo) {
alert("Too low");
return false;
}
alert("BINGO");
return true;
}
generateNumber();
if (match(prompt("enter number"))) {
doSomethingWithTheWinner();
}
答案 1 :(得分:0)
使用三元运算符,您也可以不使用正式的if
:
function match(n){
var msg=n<luckyNo?'too low'
:n>luckyNo?'too high'
:'Bingo';
console.log(msg);
return n==luckyNo;
// or, admittedly more obscure:
// return msg=='Bingo';
}
答案 2 :(得分:0)
这只是您的程序正在做的一个小技巧。就是说:“始终将结果设置为false,但是如果用户猜对了数字,则将结果设置为true”
这种方式比说“如果用户猜错数字,然后将结果设置为false,否则将结果设置为true”之类的效率更高。
答案 3 :(得分:-1)
实际上,您根本不需要结果变量。
function match(number) {
if (number > luckyNo) {
alert("Too high")
}
else if (number < luckyNo) {
alert("Too low");
}
else {
alert("Bingo!");
return true;
}
return false;
}