- 1
- 2
- 3
while ((math == (math = Math)).toString() == "true") {
...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
while ((math == (math = Math)).toString() == "true") {
...
}
программист-дотер
Vindicar 12.01.2016 09:07 # +4
fixed
Xom94ok 12.01.2016 12:00 # 0
dxd 12.01.2016 12:01 # +1
Her 12.01.2016 12:15 # 0
разве не должно быть как с ++i + ++i ? возвращает false?
gost 12.01.2016 12:44 # +2
Хм, а почему false? Первым должно вычислиться (math = Math), ибо скобки, после чего '==' вернет true. Или я чего-то не понимаю?
gost 12.01.2016 12:46 # 0
Wtf? Жсеры, помогите!
roman-kashitsyn 12.01.2016 12:55 # 0
Her 12.01.2016 13:59 # +3
imihajlov 12.01.2016 14:04 # 0
blablabla2 12.01.2016 14:05 # +1
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
Her 12.01.2016 14:39 # −1
roman-kashitsyn 12.01.2016 14:41 # 0
Потому что значение этого выражения не зависит от порядка вычисления аргументов оператора ==, в отличие от (a == (a = c)).
kegdan 12.01.2016 15:07 # 0
а тут как зависит?
roman-kashitsyn 12.01.2016 15:25 # +3
Если вычисляется сначала правая часть a = c, а потом левая a, то будет true.
Мутабельные переменные такие мутабельные.
kegdan 12.01.2016 15:59 # +1
blablabla2 12.01.2016 15:30 # 0
(a = 'wotafack') == a; //true
var b;
b == (b = 'wotafack'); //false
3_14dar 12.01.2016 18:34 # 0
Можно в этом вашем js посмотреть на дизассемблер?
bormand 12.01.2016 18:47 # 0
Да, огромный плюс, кстати. И ++ выпилен.
> А, ну тут все логично - старое значение b сравнивается с wotafack.
Да, всё верно.
kegdan 12.01.2016 19:43 # 0
>>
Плюс заключается в том, что ты не можешь писать как мудак, даже если очень хочешь? Это не плюс питона, это минус программиста на си
bormand 12.01.2016 20:09 # 0
Ну дык почти весь питон в таком стиле выдержан.
3_14dar 12.01.2016 21:34 # 0
Интересно, где еще? В языке с ДТ в ногу себе выстрелить гораздо проще чем в со статической.
bormand 12.01.2016 21:41 # 0
Хе-хе. Ты просто не писал на крестах.
3_14dar 12.01.2016 22:51 # 0
kegdan 13.01.2016 06:06 # +3
Плюсы типо безопасные
В жабе нет и 10ой части выстрелов в ногу, что есть в плюсах
3_14dar 12.01.2016 16:25 # 0
roman-kashitsyn 12.01.2016 16:57 # 0
Ок...
(a = Math) == (a = Phys)
Какие скобки должны выполняться первыми?
Her 12.01.2016 17:19 # +1
>Какие скобки должны выполняться первыми?
приоритет операций одинаковый, следовательно используем очередность операций для конекретного языка. я подозреваю что у джавкскрипта это слева направо
roman-kashitsyn 12.01.2016 17:27 # 0
a() + (b() + "k")
A();
B();
"okok"
Her 12.01.2016 17:46 # 0
а у джаваскрипта получается 13
bormand 12.01.2016 17:55 # 0
roman-kashitsyn 12.01.2016 18:03 # 0
В JS скорее unspecified
gost 12.01.2016 15:31 # 0
Antervis 13.01.2016 08:29 # 0
3_14dar 12.01.2016 23:01 # 0
kegdan 13.01.2016 06:13 # 0
Ну а если ты юзаешь какой то компилятор js для своих нужд, то он должен выдавай файлик, там и смотри
bormand 13.01.2016 07:20 # 0
inkanus-gray 13.01.2016 21:28 # 0