2017-10-26 15 views
0
var answer = prompt("are we there yet") 

while(answer.indexOf("yes") === -1 && answer.indexOf("yeah") === -1){ 
    var answer = prompt("are we there yet") 
} 

alert("yay we made it"); 

& &作品は、両方の部分に該当する場合、この場合には、それは「偽」だありません我々は同じプロンプトではいとええを書いていないので。&&(and)の背後にあるロジックは何ですか?私たちはそう書いたりええ、それが動作する場合、それは動作しますが、我々は唯一そう書いた場合(または)このコードで

よく明らかに私は間違っています。なぜ、ORのいずれかが真実である必要があるときにORが動作しないのであれば、それが動作するためにはいまたはええのいずれかを書くだけでよい。

+0

'のindexOf()===だろう-1'のそれが存在しないことを意味します。私はあなたの 'answer.indexOf(" yes ")の後にあると思います!== -1 || answer.indexOf( "yeah")!== -1' – Keith

+0

キースが言及しているように。論理演算子を変更するだけでなく、値の比較も逆にする必要があります。 – ankr

答えて

0

ロジックここに声明

while(answer.indexOf("yes") === -1 && answer.indexOf("yeah") === -1) 

しばらくは、プロンプトでyesと例えば入力したときに内部の条件が

while(*true*) => do something 

真であるとき、一方でそれは、体の実行中にあなたが書いた少し間違っているが、そこにあります

(true && false) => false という条件付きでfalseになります。これは、それ以上は本体を実行しないことを意味します。

あなたが書くとき||代わりに& &

(true || false) => trueので文が身体

を実行し続けながら、だから、書き込みコードが

while(answer.indexOf("yes") !== -1 || answer.indexOf("yeah") !== -1) 
関連する問題