JavaScript, читающий объект как параметр функции - PullRequest
0 голосов
/ 18 мая 2018

Я создаю своего рода шаблон для всех обычных событий мыши на холсте.
поэтому у нас есть класс для определения слов, и все события должны запускаться, когда мышь находится над словом.
тогда я объявилтестовый объект (pal) в "универсальной" (но теперь заключенной в пробел) части кода.
функция contains(pal) использует этот тестовый объект, объявленный в качестве параметра, однако консоль говорит "TypeError:Не удается прочитать свойство 'posX' из неопределенного в содержит "
, поскольку posX является атрибутом" pal "объекта, функция содержит (pal) не может прочитать этот объект, я догадываюсь.
вопрос в том ... почему?
см. Полный код на https://jsfiddle.net/evy182bp/

1 Ответ

0 голосов
/ 18 мая 2018

Глядя на ваш код, строка 141 вызывает проблему

 console.log( "pincha dentro = ", contains());

Проблема заключается в том, что вы вызываете метод содержимого без передачи параметра объекта pal, что означает, что он автоматически передает значение undefined(посмотрите здесь )

function contains(pal) {

  if((pal.posX <= mouse.x)&&
  (pal.posX + pal.largoPalabra >= mouse.x)&&
  (pal.posY <= mouse.y)&&
  (pal.posY + pal.altoPalabra>= mouse.y))
  {return true;}
  else { return false;}
  // if ((100 <= mouse.x)&&
  // (100 + 150 >= mouse.x)&&
  // (200 <= mouse.y)&&
  // (200 + 40>= mouse.y)) // this works
}

Как только вы удалите эту строку, вы без ошибок.Надеюсь, это поможет

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