JavaScript: объект не может получить доступ к нескольким переменным, возвращенным глобальной функцией - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь, чтобы свойства местоположения моего объекта 'BB' были установлены моей функцией setLoc (), но когда я проверяю значения в консоли отладки, они появляются как неопределенные.Кроме этого, в консоли нет ошибок.Где я ошибся?

Я пытался добавить функцию как метод к BB, но это принесло дополнительные ошибки.

Вот два блока кода:

var loc = function setLoc(){
  let x;
  let y;
    if(random(1,2) == 1){
      x = random(-1000, 0);
      y = random(-1000, 0);
    }
      else{
        x = random(0, 1000);
        y = random(0, 1000);
      }
    return [x, y];
}

var bb = {
  done : false,
  hp : 10,
  fuel : 10,
  location : {
    x : loc[0],
    y : loc[1]
  },
}

1 Ответ

1 голос
/ 08 апреля 2019

Вы определяете loc как функцию. Это должно быть значение - для этого используйте IIFE вместо:

var loc = (function setLoc() { ... })();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...