- 1
- 2
- 3
while ((math == (math = Math)).toString() == "true") {
...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
while ((math == (math = Math)).toString() == "true") {
...
}
программист-дотер
fixed
разве не должно быть как с ++i + ++i ? возвращает false?
Хм, а почему false? Первым должно вычислиться (math = Math), ибо скобки, после чего '==' вернет true. Или я чего-то не понимаю?
Wtf? Жсеры, помогите!
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
Потому что значение этого выражения не зависит от порядка вычисления аргументов оператора ==, в отличие от (a == (a = c)).
а тут как зависит?
Если вычисляется сначала правая часть a = c, а потом левая a, то будет true.
Мутабельные переменные такие мутабельные.
(a = 'wotafack') == a; //true
var b;
b == (b = 'wotafack'); //false
Можно в этом вашем js посмотреть на дизассемблер?
Да, огромный плюс, кстати. И ++ выпилен.
> А, ну тут все логично - старое значение b сравнивается с wotafack.
Да, всё верно.
>>
Плюс заключается в том, что ты не можешь писать как мудак, даже если очень хочешь? Это не плюс питона, это минус программиста на си
Ну дык почти весь питон в таком стиле выдержан.
Интересно, где еще? В языке с ДТ в ногу себе выстрелить гораздо проще чем в со статической.
Хе-хе. Ты просто не писал на крестах.
Плюсы типо безопасные
В жабе нет и 10ой части выстрелов в ногу, что есть в плюсах
Ок...
(a = Math) == (a = Phys)
Какие скобки должны выполняться первыми?
>Какие скобки должны выполняться первыми?
приоритет операций одинаковый, следовательно используем очередность операций для конекретного языка. я подозреваю что у джавкскрипта это слева направо
a() + (b() + "k")
A();
B();
"okok"
а у джаваскрипта получается 13
В JS скорее unspecified
Ну а если ты юзаешь какой то компилятор js для своих нужд, то он должен выдавай файлик, там и смотри