JavaScript если заявления - PullRequest
       3

JavaScript если заявления

0 голосов
/ 24 декабря 2011

Какая ошибка в следующем коде может привести к тому, что (is1Pressed = true) консоль будет многократно записывать "1" в консоли

 if(is1Pressed = true){
    console.log("1");
    p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
  }
  else if(is2Pressed = true) {
        console.log=("2");
    p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
  }
else if(is3Pressed = true) {
 p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}
else if(is4Pressed = true) {
 p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}
else if(is5Pressed = true) {
 p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}
else 
{
  p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}

Ответы [ 4 ]

6 голосов
/ 24 декабря 2011

Вы используете =, оператор присваивания вместо == или ===. Тем не менее, вы можете прекратить проверку явно по true и просто проверить достоверность переменной для более краткого кода:

if (is1Pressed) {
    console.log("1");
    p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}
else if (is2Pressed) {
    console.log = ("2");
    p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}
else if (is3Pressed) {
    p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}
else if (is4Pressed) {
    p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}
else if (is5Pressed) {
    p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}
else {
    p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}
0 голосов
/ 24 декабря 2011

Вы должны использовать "==", а не "=", чтобы проверить условие

if(is1Pressed == true){
    console.log("1");
    p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
  }
  else if(is2Pressed == true) {
        console.log=("2");
    p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
  }
else if(is3Pressed == true) {
 p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}
else if(is4Pressed == true) {
 p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}
else if(is5Pressed == true) {
 p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}
else 
{
  p.innerHTML = "<audio autoplay='autoplay' src='button1.wav'/>";
}
0 голосов
/ 24 декабря 2011

= - оператор присваивания, а не сравнения.Обычно для сравнения вы должны использовать ===, но поскольку вы пытаетесь сравнить с true, вам не нужно вообще никакого сравнения (я предполагаю, что is1Pressed является логическим значением):

if(is1Pressed = true){

Должно быть:

if(is1Pressed){

То же самое относится ко всем другим операторам if.

0 голосов
/ 24 декабря 2011

Я думаю, что вы хотите is1Pressed == true.В противном случае вы говорите, что is1Pressed равен true, а не проверяет, равен ли он.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...