这个问题在这里已有答案:
我从服务器接收JSON并且必须添加或减去一些数字,但它不适用于添加,但是对于减法它可以。知道为什么吗?
data = {
point: {
x: '4.0',
y: '10.0'
}
}
startX = 10;
startY = 5;
newX= startX + data.point.x;
newY= startY - data.point.y;
console.log(newX, newY)
您需要将字符串转换为数字,因为字符串可以添加,这意味着连接。通过取-
,两个操作数都转换为数字。
var data = { point: { x: '4.0', y: '10.0' } },
startX = 10,
startY = 5,
newX = startX + +data.point.x,
newY = startY - +data.point.y;
console.log(newX, newY)
那是因为你将来自JSON的数字视为字符串而不是数字。您需要先将它们转换为数字(整数或浮点数)。
newX = startX + parseFloat(data.point.x);
newY = startY - parseFloat(data.point.y);