@holfizz

Будет ли работать этот код?

let random = (Math.random()*10).toFixed()
let body = document.body;
console.log(random)
let a = 1
while(a = 2){

    setTimeout(()=>{
        if (random == 1){
            body.style.background = 'red'
        }else if (random == 2){
            body.style.background = 'green'
        }else if (random == 3){
            body.style.background = 'blue'
        }else if (random == 4){
            body.style.background = 'darkgreen'
        }else if (random == 5){
            body.style.background = 'yellow'
        }else if (random == 6){
            body.style.background = 'white'
        }else if (random == 7){
            body.style.background = 'gray'
        }else if (random == 8){
            body.style.background = 'gold'
        }else if (random == 9){
            body.style.background = 'pink'
        }else{
            body.style.background = 'people'
        }
    },1000)
}

по задумке этот код должен выполнять смену фона боди каждую секунду но у мен почему то просто все виснет)) если нет то как по другому сделать))И ПРОЧИТАЙТЕ ЭТО Я НОВИЧЕК И ВОЗМОЖНО СДЕСЬ ОШИБКА НА ОШИБКЕ НЕ ПИШИТЕ ЧТО Я КРИВОРУКИЙ И Т.Д
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Код будет работать бесконечно.
while(a = 2) здесь вы не сравниваете значения, а присваиваете. Результат присвоения (2) распознаётся как true, следовательно цикл будет работать вечно.
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Изучайте:
const colors = [
  'red',
  'green',
  'blue',
  'darkgreen',
  'yellow',
  'white',
  'gray',
  'gold',
  'pink',
];
const defaultColor = 'purple';
setInterval(() => {
  const random = (Math.random()*10).toFixed();
  document.body.style.background = colors[random] ?? defaultColor;
}, 1000);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы