В функции пересечения, которая проверяет, пересекаются ли два объекта на холсте, мне нужно добавить свойство obj.x и obj.width, чтобы получить obj.right (side). Каким-то образом свойства объединяются, а не добавляются. Вероятно, это связано с ссылочным типом, но я не вижу, как я могу захватить значения в примитивных типах.JS конкатенирует значения свойств объекта (числовые) вместо добавления
function intersects(obj1, obj2) { // checks if 2 shapes intersect
var ob2x = obj2.x;
var ob2width = obj2.width;
if (obj1.x > +obj2.x + 70 || obj2.x > +obj1.x + 70) {
console.log('false : obj1.x=' + obj1.x + ' obj2.right=' + parseInt(ob2x) + parseInt(ob2width));
return false;
}
if (obj1.y > +obj2.y + +obj2.height || obj2.y > +obj1.y + +obj1.height) {
console.log('false');
return false;
}
console.log('false');
return true;
}
Я уже пытался получить числовое значение свойства объекта, как вы можете видеть. Не работает
Также пробовал parseInt(), который не работал.
Я полагаю, что я могу поместить значения отдельно в качестве параметров в fuctions, но я надеялся сохранить его как можно короче, потому что дети должны его использовать.
Вместо того, чтобы просто сбрасывать комок кода перед нами, можете ли вы сказать нам, какая часть не работает должным образом? – JLRishe