Операторы js
14 повідомлень
#3 роки тому
Я вот изучаю js и решил кое что проверить. console.log("35" + "25" ) - результат 3525
console.log("35" +- "25"

И тут я думаю, ну мб просто js считает что "-" это идет дополнительно к строке 25, но потом я решил начать с минуса
console.log("35" - "25"

console.log("35" -+ "25"

console.log("35" -+- "25"

console.log("35" -+-+ "25"

И вот мне не понятно, почему так? Как это работает? Сначало думал, оно идет типа первый минус, значит вычитает, потом + додает, минус вычитает и т.д. Но оказалось что это не так.
Если кто то знает, объясните пожалуйста

посилання вот код на jsfidle. А то тут смайлики создаются
731 повідомлення
5629 повідомлень
#3 роки тому
Прекрасный язык высокого уровня 
Я вот когда-то работал с С, С++. В частности с Microsoft. И это просто как сравнивать Пальма, бананы и Тамбов

MasterRoman, это Вы еще до вещественных чисел не добрались ) Также следует понимать, что высокий уровень предполагает менее строгий контроль и опасность его утраты
Еще можно почитать о его развитии, node js...

14 повідомлень
#3 роки тому
crus94, Да я не совсем об этом. А о том, как работает то, что если -+- соединяет строки. Типа нигде не пишет и не говорят об этом. Я не знаю как это правильно объяснить. Даже если писать +-+-+-+-+-+-+-+-+-... то всеравно будет работать, но с каждым добавление нового "+" либо "-", результат будет менятся.
11416 повідомлень
#3 роки тому
MasterRoman, JS волшебный язык, особенно когда начнутся вычисления :-) Вы вдруг обнаружите, что a + b не будет равно 0.3, где var a = 0.1; var b = 0.2;
295 повідомлень
#3 роки тому
+ используется для соединения строк также это просто +, я не владею js во всех деталях и просто использую скобочки.также недавно заметил что пустое значение в разных браузерах может отличатся. но не уверен точно.
Всего знать и запомнить невозможно но главно понимать суть и принципы решения.
19 повідомлень
#3 роки тому
Разные действия = разный результат. Если складываем, то строки не преобразуются, а просто соединяются. Если вычитаем, то строка преобразуется в число
5629 повідомлень
#3 роки тому
Hungry_Hunter, js отлично справляется с вычислениями без уточнений и сочетаниях целых и с плавающей запятой в вычислениях.Но... Результаты вычислений отличается от десктопного калькулятора Linux )
Мраки при сравнениях Поэтому при сравнениях чисел с плав. запятой лучше использовать свои ф-ции заточенные под конкретный проект
MasterRoman, тот же совет. Если есть сомнения лучше использовать свои ф-ции