Мой код Javascript использует 100% моего процессора и не загружается

#javascript

#javascript

Вопрос:

Я пытался устроить небольшую игру с текстом. После запуска функции Code Game.start() я запаздывал, и ничего не происходило. Я думаю, что это цикл for. Пожалуйста, помогите мне, вот мой код:

     class unit {
  constructor(health, speed, x, y) {
    this.health = health;
    this.speed = speed;
    this.x = x;
    this.y = y;
  }
  moveTo(xval, yval) {
    this.x = xval;
    this.y = yval;
  }
}

var player = new unit(100, 1, 10, 10);
var unit1 = new unit(50, 1, 1, 12);
var unit2 = new unit(50, 1, 2, 4);
var unit3 = new unit(50, 1, 3, 6);

var i = 0;
var units = 4;
var u = [player, unit1, unit2, unit3];
var k, l, t, r;

function draw(txt) { document.write(txt); };

var Game = {
  width : 20, // Largeur
  height : 20, // Hauteur

  start : function() {
    for(t = 0; t < this.height  ; t  ) {
    for(k = 0; k < this.width  ; k  ) {
      for(var x1 = 0; i < units; x1  ) {
        if(u[k].x != k) {
          draw('#');
        } else {
          draw('%');
        }
      }
    }
  }
 }
}
 

Ответ №1:

Потому что в вашем третьем for операторе в start функции ваше условие выхода зависит от i while вы обновляете x1 в каждом цикле, так что у вас есть бесконечный цикл.

Ответ №2:

Если вы тестируете IE и у вас есть пустая переменная ( var = ; ), это приведет к зависанию браузера, поэтому обязательно посмотрите на свои выходные данные JavaScript, особенно если вы используете серверный код для генерации значений.