Операторы js
14 сообщений
#2 года назад
Я вот изучаю js и решил кое что проверить. console.log("35" + "25" ) - результат 3525
console.log("35" +- "25" - результат 35-25
И тут я думаю, ну мб просто js считает что "-" это идет дополнительно к строке 25, но потом я решил начать с минуса
console.log("35" - "25" - результат 10
console.log("35" -+ "25" - результат 10
console.log("35" -+- "25" - результат так же 10, но уже
console.log("35" -+-+ "25" - результат 60
И вот мне не понятно, почему так? Как это работает? Сначало думал, оно идет типа первый минус, значит вычитает, потом + додает, минус вычитает и т.д. Но оказалось что это не так.
Если кто то знает, объясните пожалуйста
ссылка вот код на jsfidle. А то тут смайлики создаются
731 сообщение
5629 сообщений
#2 года назад
Прекрасный язык высокого уровня Я вот когда-то работал с С, С++. В частности с Microsoft. И это просто как сравнивать Пальма, бананы и Тамбов )
MasterRoman, это Вы еще до вещественных чисел не добрались ) Также следует понимать, что высокий уровень предполагает менее строгий контроль и опасность его утраты
Еще можно почитать о его развитии, node js... )
14 сообщений
#2 года назад
crus94, Да я не совсем об этом. А о том, как работает то, что если -+- соединяет строки. Типа нигде не пишет и не говорят об этом. Я не знаю как это правильно объяснить. Даже если писать +-+-+-+-+-+-+-+-+-... то всеравно будет работать, но с каждым добавление нового "+" либо "-", результат будет менятся.
11416 сообщений
#2 года назад
MasterRoman, JS волшебный язык, особенно когда начнутся вычисления :-) Вы вдруг обнаружите, что a + b не будет равно 0.3, где var a = 0.1; var b = 0.2;
295 сообщений
#2 года назад
+ используется для соединения строк также это просто +, я не владею js во всех деталях и просто использую скобочки.также недавно заметил что пустое значение в разных браузерах может отличатся. но не уверен точно.
Всего знать и запомнить невозможно но главно понимать суть и принципы решения.
19 сообщений
#2 года назад
Разные действия = разный результат. Если складываем, то строки не преобразуются, а просто соединяются. Если вычитаем, то строка преобразуется в число
5629 сообщений
#2 года назад
Hungry_Hunter, js отлично справляется с вычислениями без уточнений и сочетаниях целых и с плавающей запятой в вычислениях.Но... Результаты вычислений отличается от десктопного калькулятора Linux )
Мраки при сравнениях Поэтому при сравнениях чисел с плав. запятой лучше использовать свои ф-ции заточенные под конкретный проект
MasterRoman, тот же совет. Если есть сомнения лучше использовать свои ф-ции