Я играл с разными вещами, вроде этого
var a = 1, b = 2;
alert(a + - + - + - + - + - + - + - + b); //alerts -1
и я мог бы удалить пробелы, и он все равно будет работать.
a+-+-+-+-+-+-+-+b
Затем я попробовал
a + + b
Он запускался и оценивался до 3, но когда я удалял пробелы, (a++b
) он не запускался, и у него было предупреждение, которое гласило: "Confusing plusses."
Я могу понять, что в таких случаях, как
a+++++b
который можно интерпретировать как любое из следующих
(a++) + (++b)
(a++) + +(+b)
a + +(+(++b))
a + +(+(+(+b)))
что это будет путать.
Но в случае
a++b
единственный допустимый способ интерпретировать это, насколько я могу судить,
a + +b
Почему не работает a++b
?