- 1
- 2
- 3
- 4
- 5
var n=7;
if(3 in [1..n]) {
// PROFIT!
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+164
var n=7;
if(3 in [1..n]) {
// PROFIT!
}
Замечательный способ писать заведомо ложное условие :D
bormand 27.09.2013 21:10 # 0
Заведомо некомпилящееся?
Qwertiy 27.09.2013 21:23 # +2
bormand 27.09.2013 21:43 # +2
> А проверить перед тем как писать?
Так проверял, но вот только зачем-то "упростил" код...
Qwertiy 27.09.2013 21:49 # +2
*ROFL*
Значит там дополнительный подвох для любителей рефакторить :D
vistefan 28.09.2013 12:30 # +2
Преждевременная оптимизация - зло. Дональд Эрвин Дак.
Qwertiy 27.09.2013 21:27 # +12
PetrovSerega 27.09.2013 22:12 # 0
bormand 27.09.2013 22:15 # +2
PetrovSerega 27.09.2013 22:26 # 0
Qwertiy 27.09.2013 22:29 # +1
TarasB 29.09.2013 11:20 # +1
да, надо плюсануть
я сначала подумал, что этот код - очередной школобред, хорошо, что сначала обсуждение почитал
bormand 29.09.2013 11:26 # +2
Qwertiy 29.09.2013 11:45 # +1
bormand 29.09.2013 11:52 # +2
Ролик по теме: https://www.destroyallsoftware.com/talks/wat
Qwertiy 29.09.2013 22:25 # +2
Т. е. набрали {}+[] и получили 0, хотя на самом деле x={}+[] даёт "[object Object]". Если конкретнее, то в их записи не сложение объекта с массивом, а пустой блок кода и унарный плюс для массива.
1024-- 29.09.2013 22:45 # 0
А не знаете, зачем так сделано? Это как-то связано с авторасстановкой точек с запятой? Других сложностей для парсера не нахожу, а с виду логики в таком поведении мало.
Qwertiy 29.09.2013 23:00 # 0
{}+[] // 0
({}+[]) // "[object Object]"
1, {}+[] // "[object Object]"
{console.log("I'm not an object")}+[7]
({console.log("I'm not an object")}+[7]) // SyntaxError: Unexpected token .
Соответственно, если использовать {}+[] в выражении, ноль получаться не будет. Единственный способ получить 0 - написать это в основном потоке кода, но в таком случае присваивания быть не может, соответсвенно в скрипте этот 0 доступен не будет.
1024-- 29.09.2013 23:25 # 0
> Открой консоль браузера и набери поштучно эти строки, чтобы понять что происходит
Что происходит - понятно, что происходит - было хорошо описано в комментарии http://govnokod.ru/13865#comment197935.
Неясно, это из-за сложностей при создании парсера (если не ошибаюсь, +function f(){}() вытекает из-за подобных сложностей), или кто-то специально решил потроллить людей и вписал в это в стандарт.
Qwertiy 29.09.2013 23:34 # 0
Более того, в противном случае неясно как отличить объект от кода - не забываем про возможность использования меток. По-моему, если бы было иначе, то точно проблем была бы куча.
> +function f(){}()
Один из вариантов записи. Кстати, можно без имени.
Но обычно всё-таки ставят скобки. А в минимизированном варианте - логическое отрицание. Кстати, последний вариант делает код максимально безвредным.
bormand 30.09.2013 05:29 # 0
Хех... Никогда не понимал логику авторов js. Ну вот не имеет операция смысла (например сложение массива и объекта)- ну верните, блджад, undefined какой-нибудь... Но нет, понагородили всяких мутных правил на все случаи жизни, по которым js может складывать что угодно с чем угодно... Я не понимаю в чем смысл...
bormand 30.09.2013 06:12 # +1
wvxvw 01.10.2013 12:01 # +1
Ничего не напоминает?
guest 01.10.2013 20:31 # 0
wvxvw 01.10.2013 20:53 # +1
Qwertiy 01.10.2013 21:17 # +1
PS: Случайно разлогинился...
1024-- 27.09.2013 21:29 # +6
Сначала я даже подумал, что это какие-то фичи ES6 - скажем, spread call/spread array operator.
guest 27.09.2013 21:52 # 0
"undefined!!!"
O_0
хотя логично
255..toString(16)
"ff"
WGH 27.09.2013 22:03 # +2
1024-- 28.09.2013 05:29 # +1
(По крайней мере, в одном языке)
Qwertiy 29.09.2013 23:09 # 0
1024-- 29.09.2013 23:17 # 0
WGH 03.10.2013 00:11 # +3
никакой вставки неявных ';' не происходит, так что так писать можно и это будет работать так, как и ожидается. В языке какие-то неочевидные правила, когда неявные ';' вставляются, а когда - нет. Очевиднее всего было бы, если они совсем никогда не вставлялись (или, наоборот, всегда вставлялись, как, условно, в питоне).
Qwertiy 03.10.2013 07:12 # 0
guest 28.09.2013 21:08 # −14
guest 28.09.2013 21:11 # −8
Stertor 05.10.2013 14:51 # −3
Stertor 05.10.2013 14:47 # −3
guest8 06.04.2019 23:15 # −999
guest8 06.04.2019 23:15 # −999
guest8 06.04.2019 23:20 # −999
guest8 06.04.2019 23:20 # −999
guest8 06.04.2019 23:20 # −999
guest8 06.04.2019 23:21 # −999
guest8 06.04.2019 23:21 # −999
guest8 06.04.2019 23:21 # −999
guest8 06.04.2019 23:21 # −999
guest8 06.04.2019 23:21 # −999
guest8 06.04.2019 23:22 # −999
guest8 06.04.2019 23:22 # −999
guest8 06.04.2019 23:22 # −999
guest8 06.04.2019 23:22 # −999
guest8 06.04.2019 23:22 # −999
guest8 06.04.2019 23:23 # −999
guest8 06.04.2019 23:23 # −999
guest8 06.04.2019 23:23 # −999
guest8 06.04.2019 23:23 # −999
guest8 06.04.2019 23:23 # −999
guest8 06.04.2019 23:23 # −999
guest8 06.04.2019 23:23 # −999
guest8 06.04.2019 23:24 # −999
guest8 07.04.2019 21:28 # −999
guest8 07.04.2019 21:28 # −999
guest8 07.04.2019 21:28 # −999
guest8 07.04.2019 21:28 # −999
guest8 07.04.2019 21:29 # −999
guest8 07.04.2019 21:29 # −999
guest8 07.04.2019 21:29 # −999
guest8 07.04.2019 21:29 # −999
guest8 07.04.2019 21:29 # −999
guest8 07.04.2019 21:30 # −999
guest8 07.04.2019 21:30 # −999
guest8 07.04.2019 21:30 # −999
guest8 07.04.2019 21:30 # −999
guest8 07.04.2019 21:30 # −999
guest8 07.04.2019 21:31 # −999
guest8 07.04.2019 21:31 # −999
guest8 07.04.2019 21:31 # −999
guest8 07.04.2019 21:31 # −999
guest8 07.04.2019 21:31 # −999
guest8 07.04.2019 21:44 # −999
guest8 07.04.2019 21:44 # −999
guest8 07.04.2019 21:44 # −999
guest8 07.04.2019 21:44 # −999
guest8 07.04.2019 21:45 # −999
guest8 07.04.2019 21:45 # −999
guest8 07.04.2019 21:45 # −999
guest8 07.04.2019 21:45 # −999
guest8 07.04.2019 21:45 # −999
guest8 07.04.2019 21:45 # −999
guest8 07.04.2019 21:45 # −999
guest8 07.04.2019 21:45 # −999
guest8 07.04.2019 21:45 # −999
guest8 07.04.2019 21:45 # −999
guest8 07.04.2019 21:46 # −999
guest8 07.04.2019 21:46 # −999
guest8 07.04.2019 21:46 # −999
guest8 07.04.2019 21:46 # −999
guest8 07.04.2019 21:46 # −999
guest8 07.04.2019 21:46 # −999
guest8 07.04.2019 21:46 # −999
guest8 07.04.2019 21:46 # −999
guest8 07.04.2019 21:46 # −999
guest8 07.04.2019 21:46 # −999
guest8 07.04.2019 21:47 # −999
guest8 07.04.2019 21:47 # −999
guest8 07.04.2019 21:47 # −999
guest8 07.04.2019 21:47 # −999
guest8 07.04.2019 21:47 # −999
guest8 07.04.2019 21:47 # −999
guest8 07.04.2019 21:47 # −999
guest8 07.04.2019 21:47 # −999
guest8 07.04.2019 21:47 # −999
guest8 07.04.2019 21:47 # −999
guest8 07.04.2019 21:48 # −999
guest8 07.04.2019 21:48 # −999
guest8 07.04.2019 21:48 # −999
guest8 07.04.2019 21:48 # −999
guest8 07.04.2019 21:48 # −999
guest8 07.04.2019 21:48 # −999
guest8 07.04.2019 21:49 # −999
guest8 07.04.2019 21:49 # −999
guest8 07.04.2019 21:49 # −999
guest8 07.04.2019 21:49 # −999
guest8 07.04.2019 21:50 # −999
guest8 07.04.2019 21:50 # −999
guest8 07.04.2019 21:50 # −999
guest8 07.04.2019 21:50 # −999
guest8 07.04.2019 21:50 # −999
guest8 07.04.2019 21:50 # −999
guest8 07.04.2019 21:50 # −999
guest8 07.04.2019 21:50 # −999
guest8 07.04.2019 21:51 # −999
guest8 07.04.2019 21:51 # −999
guest8 07.04.2019 21:51 # −999
guest8 07.04.2019 21:51 # −999
guest8 07.04.2019 21:51 # −999
guest8 07.04.2019 21:51 # −999
guest8 07.04.2019 21:51 # −999
guest8 07.04.2019 21:51 # −999
guest8 07.04.2019 21:52 # −999
guest8 07.04.2019 21:52 # −999
guest8 07.04.2019 21:52 # −999
guest8 07.04.2019 21:52 # −999
guest8 07.04.2019 21:52 # −999
guest8 07.04.2019 21:52 # −999
guest8 07.04.2019 21:52 # −999
guest8 07.04.2019 21:52 # −999
guest8 07.04.2019 21:52 # −999
guest8 07.04.2019 21:52 # −999
guest8 07.04.2019 21:53 # −999
guest8 07.04.2019 21:53 # −999
guest8 07.04.2019 21:53 # −999
guest8 07.04.2019 21:53 # −999
guest8 07.04.2019 21:53 # −999
guest8 07.04.2019 21:53 # −999
guest8 07.04.2019 21:53 # −999
guest8 07.04.2019 21:53 # −999
guest8 07.04.2019 21:53 # −999
guest8 07.04.2019 21:53 # −999
guest8 07.04.2019 21:54 # −999
guest8 07.04.2019 21:54 # −999
guest8 07.04.2019 21:54 # −999
guest8 07.04.2019 21:54 # −999
guest8 07.04.2019 21:54 # −999
guest8 07.04.2019 21:54 # −999
guest8 07.04.2019 21:54 # −999
guest8 07.04.2019 21:54 # −999
guest8 07.04.2019 21:54 # −999
guest8 07.04.2019 21:55 # −999
guest8 07.04.2019 22:12 # −999
guest8 07.04.2019 22:12 # −999
guest8 07.04.2019 22:12 # −999
guest8 07.04.2019 22:12 # −999
guest8 07.04.2019 22:12 # −999
guest8 07.04.2019 22:12 # −999
guest8 07.04.2019 22:12 # −999
guest8 07.04.2019 22:12 # −999
guest8 07.04.2019 22:12 # −999
guest8 07.04.2019 22:13 # −999
guest8 07.04.2019 22:13 # −999
guest8 07.04.2019 22:13 # −999
guest8 07.04.2019 22:13 # −999
guest8 07.04.2019 22:13 # −999
guest8 07.04.2019 22:13 # −999
guest8 07.04.2019 22:13 # −999
guest8 07.04.2019 22:13 # −999
guest8 07.04.2019 22:13 # −999
guest8 07.04.2019 22:13 # −999
guest8 07.04.2019 22:13 # −999
guest8 07.04.2019 22:14 # −999
guest8 07.04.2019 22:14 # −999
guest8 07.04.2019 22:14 # −999
guest8 07.04.2019 22:14 # −999
guest8 07.04.2019 22:14 # −999
guest8 07.04.2019 22:14 # −999
guest8 07.04.2019 22:14 # −999
guest8 07.04.2019 22:14 # −999
guest8 07.04.2019 22:14 # −999
guest8 07.04.2019 22:14 # −999
guest8 07.04.2019 22:14 # −999
guest8 07.04.2019 22:15 # −999
guest8 07.04.2019 22:15 # −999
guest8 07.04.2019 22:15 # −999
guest8 07.04.2019 22:15 # −999
guest8 07.04.2019 22:15 # −999
guest8 07.04.2019 22:15 # −999
guest8 07.04.2019 22:15 # −999
guest8 07.04.2019 22:15 # −999
guest8 07.04.2019 22:15 # −999
guest8 07.04.2019 22:18 # −999
guest8 07.04.2019 22:18 # −999
guest8 07.04.2019 22:18 # −999
guest8 07.04.2019 22:19 # −999
guest8 07.04.2019 22:19 # −999
guest8 07.04.2019 22:19 # −999
guest8 07.04.2019 22:19 # −999
guest8 07.04.2019 22:19 # −999
guest8 07.04.2019 22:19 # −999
guest8 07.04.2019 22:19 # −999
guest8 07.04.2019 22:19 # −999
guest8 07.04.2019 22:20 # −999
guest8 07.04.2019 22:20 # −999
guest8 07.04.2019 22:20 # −999
guest8 07.04.2019 22:20 # −999
guest8 07.04.2019 22:20 # −999
guest8 07.04.2019 22:20 # −999
guest8 07.04.2019 22:20 # −999
guest8 07.04.2019 22:20 # −999
guest8 07.04.2019 22:20 # −999
guest8 07.04.2019 22:21 # −999
guest8 07.04.2019 22:21 # −999
guest8 07.04.2019 22:21 # −999
guest8 07.04.2019 22:21 # −999
guest8 07.04.2019 22:21 # −999
guest8 07.04.2019 22:21 # −999
guest8 07.04.2019 22:21 # −999
guest8 07.04.2019 22:21 # −999
guest8 07.04.2019 22:21 # −999
guest8 07.04.2019 22:22 # −999
guest8 07.04.2019 22:22 # −999
guest8 07.04.2019 22:22 # −999
guest8 07.04.2019 22:22 # −999
guest8 07.04.2019 22:22 # −999
guest8 07.04.2019 22:22 # −999
guest8 07.04.2019 22:22 # −999
guest8 07.04.2019 22:22 # −999
guest8 07.04.2019 22:23 # −999
guest8 07.04.2019 22:23 # −999
guest8 07.04.2019 22:23 # −999