你必须打破东西进入功能,以隐藏怎么了,说说什么是你要完成一个很好的例子。
function isInBounds (low, x, high) { return low <= x && x <= high; }
function isAnswer (x, number) { return x === number; }
function gt (x, number) { return x > number; }
function generateRandomInt (floor, ceiling) {
return Math.floor(Math.random() * (ceiling - floor)) + floor;
}
var lowerBound = 1;
var upperBound = 10;
// the +1 is because Random will never, ever be equal to the high number
// so a random number between 1 and 10 really means between 1 and 11
var answer = getRandomInt(lowerBound, upperBound + 1);
var successMessage = "You got it!";
var failureMessage = "Guess again!";
var errorMessage = "Error: guess must be a number between "
+ lowerBound + " and " + upperBound + ".";
function checkGuess (x) {
var message = "";
if (isInBounds(lowerBound, x, upperBound)) {
message = isAnswer(x, answer) ? successMessage : failureMessage;
} else {
message = errorMessage;
}
alert(message);
}
我使用三元赋值来设置message
的值。
var x = isTrue ? truthyValue : falseyValue;
你甚至可以将这些放在真实或伪装的路径上。
var result = a ? x : b ? y : z;
// if a == true, x, else if b == true, y, else z
这就是说,你可能想要小心这个设置。
你会检查'如果(猜测> 10)' - 你已经做了,但你永远不会'如果(猜数>数量)'这是奇怪的 –
这就是我试图捣乱的东西,但甚至如果我使用guess> than var number,它仍然给我相同的答案。我试图有一个else语句,只跟踪数字1-10 –