2017-05-15 20 views
-1

私は非常に基本的な条件文を持っていますが、私は別の答えを得ようとしています。私は他のデフォルトのコマンドを持っています。ユーザが10以上の何かを入力している場合、「数字は1から10までしかありません」というアラートが表示されます。条件文JavaScript

あなたのコードを少し変更
var number = 7; 
var stringGuess = prompt("guess a number"); 
var guess = Number(stringGuess); 



if (guess === number) { 
    alert("you got it"); 
} 

else if(guess > 10) { 
    alert(" Too High Guess Lower"); 
} 

else if (guess < number) { 
    alert("Too low guess higher!"); 
} 
else { 

} 
+2

もしあなたがすでに行っている '' if(guess> 10) 'をチェックしても、奇妙な' '(guess> number)' 'が決まっていない場合は、 –

+0

は、私が推測値をvar numberよりも使用すると、それでも私には同じ答えが与えられます。私は他のオペレータか別の方法があったかどうか見るために探していましたが、これも動作します。 –

答えて

0

: 私はguessnumber以下以上一致した場合、基本的に判断条件のためswitchを使用。 guess1-10を超えている場合は、txtを追加情報として追加してください。

var number = 7; 
 
var stringGuess = prompt("guess a number"); 
 
var guess = Number(stringGuess); 
 

 
switch (true) { 
 
    case (guess === number): 
 
    alert('You got it!'); 
 
    break; 
 
    case (guess > number): 
 
    var txt = (guess > 10) ? ' and the number is smaller than 10' : ''; 
 
    alert('Too high' + txt); 
 
    break; 
 
    case (guess < number): 
 
    var txt = (guess < 1) ? ' and the number greater than 1' : ''; 
 
    alert('Too low' + txt); 
 
    break; 
 
}

あなたはこれを試すことができ、彼らはIF ELSEを使用することにより、正確に同じことを行います。

var number = 7; 
 
var stringGuess = prompt("guess a number"); 
 
var guess = Number(stringGuess); 
 
var txt = (guess > 10) ? ' and the number is smaller than 10' : ''; 
 
if (guess < 1) txt = ' and the number greater than 1'; 
 

 
if (guess === number) { 
 
    alert('You got it!'); 
 
} else if (guess > number) { 
 
    alert('Too high' + txt); 
 
} else { 
 
    alert('Too low' + txt); 
 
}

+0

ちょっとお世話になりました!これがswitch文でのみ可能なのかどうか知っていますか?または、if else文でこれを実装できますか? –

+0

@PeterTran、私は答えを編集しました。あなたが答えが好きなら、それをupvoteしてください。ありがとう。 – noob

0

あなたはどのように隠し、そしてそれはあなたが達成しようとしているものであるについて話をするためには、関数に物事を壊すために良いケースを持っています。

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 result = a ? x : b ? y : z; 
// if a == true, x, else if b == true, y, else z 

つまり、その設定には注意が必要です。