Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   ТЕСТ НА ИНТЕРПРИТАТОР МОЗГА!!! Что вернет это выражение!) (https://javascript.ru/forum/misc/23927-test-na-interpritator-mozga-chto-vernet-ehto-vyrazhenie.html)

Livanderiaamarum 12.12.2011 11:18

ТЕСТ НА ИНТЕРПРИТАТОР МОЗГА!!! Что вернет это выражение!)
 
console.log((!+[]+[]+![]).length) // ?

расставляем приоритеты операторов, группируем. смотрим кто что возвращает, я угадал но ошибся чуть чуть потому что перепутал один момент, точнее не был уверен ;) .

и помните НЕ ИСПОЛЬЗУЙТЕ КОНСОЛЬ;)

п.с. тред вниз не листать внизу спойлеры!!! ОПАСНО!

devote 12.12.2011 11:20

"undefined".length

devote 12.12.2011 11:21

хотя вру, точно не undefined

Livanderiaamarum 12.12.2011 11:22

Цитата:

Сообщение от devote (Сообщение 142162)
"undefined".length

неа)))))!! ладно разрешается смотреть справочники)!

nerv_ 12.12.2011 11:25

1? Я понял, где прокололся. Но говорить не буду, а то у других интерес пропадет :)

Livanderiaamarum 12.12.2011 11:29

Цитата:

Сообщение от nerv_ (Сообщение 142170)
1?

нет))) даже не близко. ладно я подскажу, там число, и оно больше двух;)
вспоминайте приведение типов которые делают операторы и.т.п.) как они реагируют на разные операнды и.т.п. это все важно

ПОДСКАЗКА ! приоритетнее чем +

nerv_ 12.12.2011 11:39

Цитата:

Сообщение от Livanderiaamarum
даже не близко.

Эт смотря с какой стороны посмотреть. Если с этой, то очень даже рядом
alert(true + false); // там не так. Это мое предположение было

Совсем забыл, Livanderiaamarum, спасибо за пример. Мне он показался интересным :yes:

Livanderiaamarum 12.12.2011 11:58

Цитата:

Сообщение от nerv_ (Сообщение 142176)
Эт смотря с какой стороны посмотреть. Если с этой, то очень даже рядом
alert(true + false); // там не так. Это мое предположение было

Совсем забыл, Livanderiaamarum, спасибо за пример. Мне он показался интересным :yes:

приведение типов)) на каком месте все привелось к строкам)? и.т.п. это нужно все знать бы не помешало;)

B@rmaley.e><e 12.12.2011 15:48

Цитата:

Сообщение от nerv_
alert(true + false); // там не так. Это мое предположение было

Очень близкое предположение. Осталось только учесть, что если один из операндов оператора + является строкой, то другой тоже будет приведён к строке и произойдёт конкатенация.

Livanderiaamarum 12.12.2011 15:53

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 142217)
Очень близкое предположение. Осталось только учесть, что если один из операндов оператора + является строкой, то другой тоже будет приведён к строке и произойдёт конкатенация.

но ведь массив не строка:D

B@rmaley.e><e 12.12.2011 15:57

Но и не примитив. В отличие от строки.

Livanderiaamarum 12.12.2011 16:00

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 142223)
Но и не примитив. В отличие от строки.

хорошо, спрошу так, где там ПЛЮС строки вообще нашел чтобы коннактацию делать)?

dmitriymar 12.12.2011 16:04

alert(true + false+5)

dmitriymar 12.12.2011 16:06

Цитата:

Сообщение от Livanderiaamarum
хорошо, спрошу так, где там ПЛЮС строки вообще нашел чтобы коннактацию делать)?

Блин прежде чем свои предположения делать,коими ты уже задрал,-читай доки ,как тебе не однократно советовали.
на первых 20 страницах любого мало мальски приличного учебника описано как интерпретатор переводит логические значения

B@rmaley.e><e 12.12.2011 16:15

Livanderiaamarum, быть может, при сложении объекта с чем-либо следует сначала привести его к какому-нибудь примитиву? У нас тут не C++, где можно перегрузить оператор сложения так, что он и объектам будет на ура работать.
Вы вроде спецификацию собирались читать. Так вот, самое время.

Livanderiaamarum 12.12.2011 18:21

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 142235)
Livanderiaamarum, быть может, при сложении объекта с чем-либо следует сначала привести его к какому-нибудь примитиву? У нас тут не C++, где можно перегрузить оператор сложения так, что он и объектам будет на ура работать.
Вы вроде спецификацию собирались читать. Так вот, самое время.

я забыл что тут большинство тормозов, хорошо, я скажу так, ЭТУ ЗАДАЧКУ Я РЕШИЛ ЗА 4 минуты! и я знаю как производится приведение типов! я считаю что ТЫ не знаешь! Спрашивал я тебя НЕ ДЛЯ ТОГО чтобы УЗНАТь, а для тог чтобы ты дал полное обьяснение тому что происходит! НЕ знал что ты затупишь и поймешь что я СПРАШИВАЮ ЧТОБЫ УЗНАТь.)

я думал очевидно что раз я задаю задачу, то очевидно то я знаю ответ да и очевидно по предыдущим нашим спорам что я поболее тебя разбираюсь в JS. стоит это учитывать)

B@rmaley.e><e 12.12.2011 18:32

Цитата:

Сообщение от Livanderiaamarum
Спрашивал я тебя НЕ ДЛЯ ТОГО чтобы УЗНАТь, а для тог чтобы ты дал полное обьяснение тому что происходит!

Это что, экзамен? Если бы у меня были вопросы, я бы их задал.
Цитата:

Сообщение от Livanderiaamarum
ЭТУ ЗАДАЧКУ Я РЕШИЛ ЗА 4 минуты!

ЧСВ over 9k.

Livanderiaamarum 12.12.2011 18:43

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 142259)
Это что, экзамен? Если бы у меня были вопросы, я бы их задал.ЧСВ over 9k.


этот тред это тест, и я попросил более подробное прояснение твоего ответа. в частности про строки. в чем проблема?

dmitriymar 12.12.2011 21:23

фу блин противно то что это пытается лечить всех http://javascript.ru/forum/misc/2391...vs-escape.html определись ты ламер или спец.
на спеца ты не тянешь хоть и пытаешься обхаить всех. задумайся почему никто практически не принял в твоих темах участия-они бредовые изначально.
у тебя таблетки помогающие закончились?

dmitriymar 12.12.2011 21:27

Цитата:

Сообщение от Livanderiaamarum
. в чем проблема?

в том что ты не слышишь ничего кроме своего бреда.
отвечу тебе-все твои ответы,к каким ты пришел за 4 мин и т.д -ошибочны
причём ошибка выводы ошибочны поскольку предпосылка изначальна ошибочна, а это в психиатрии называется просто -шизофрения .может быть как вызвана физической травмой так и запущенной гонореей.
Надеюсь я не слишком груб(шутка)

trikadin 12.12.2011 22:21

9! Fuck yeah)

nerv_ 12.12.2011 22:38

Цитата:

Сообщение от Livanderiaamarum
и очевидно по предыдущим нашим спорам что я поболее тебя разбираюсь в JS.

Хоть это адресовано не мне, я отвечу: Livanderiaamarum, не стоит заниматься самовнушением.
Цитата:

Сообщение от dmitriymar
в том что ты не слышишь ничего кроме своего бреда.

можешь ссаться в потолок, но это факт.
Цитата:

Сообщение от dmitriymar
все твои ответы,к каким ты пришел за 4 мин и т.д -ошибочны

но самой первый ошибкой было то, что ты начал изучать js :lol:

А если серьезно, Livanderiaamarum, относись уважительно к тем, кто тратит на тебя время и пытается помочь. Поэтому, мне кажется, тебе стоит кое перед кем извиниться (это не я). Продолжишь также относиться к людям - нарвешься на непробиваемый игнор, бан и может еще че для тебя придумают :yes:

melky 12.12.2011 22:40

(!+[]+[]+![]).length
// equals to
( !+[]  +[]  +![]  ).length
//equals to
( !0 +[] +!1  ).length
// eq to
( true +[] +false ).length
//eq to.... (тут тупо по спецификации)
( true.valueOf() +[].valueOf() + false.toString() ).length
// and it eq to 
("truefalse").length 
// result - 9

Livanderiaamarum 12.12.2011 22:45

Цитата:

Сообщение от dmitriymar (Сообщение 142303)
в том что ты не слышишь ничего кроме своего бреда.
отвечу тебе-все твои ответы,к каким ты пришел за 4 мин и т.д -ошибочны
причём ошибка выводы ошибочны поскольку предпосылка изначальна ошибочна, а это в психиатрии называется просто -шизофрения .может быть как вызвана физической травмой так и запущенной гонореей.
Надеюсь я не слишком груб(шутка)

какой сочный вброс

melky 12.12.2011 22:47

Livanderiaamarum, пеши исчо (задачек)

trikadin 12.12.2011 22:48

+1 к nerv_, dmitriymar.

На самом деле, вообще не вижу смысла в таких задачах. На мой взгляд, куда большим показателем является умение написать сложный интерфейс или систему, а не умение решить непонятную хрень.

В принципе, достаточно добавить множество разных операторов, массивов, объектов, переопределить парочку прототипов и сдобрить это побитовыми операторами (или регэкспами, на ваш вкус), чтобы получить фигню такого типа.

B@rmaley.e><e 12.12.2011 22:50

melky, чуть более объемные (и не по теме), но тем не менее, несложные задачки:
http://challenges.ictf2011.info/challenges/challenge_38
http://challenges.ictf2011.info/challenges/challenge_37

melky 12.12.2011 22:50

Цитата:

Сообщение от trikadin (Сообщение 142333)
+1 к nerv_, dmitriymar.

На самом деле, вообще не вижу смысла в таких задачах. На мой взгляд, куда большим показателем является умение написать сложный интерфейс или систему, а не умение решить непонятную хрень.

В принципе, достаточно добавить множество разных операторов, массивов, объектов, переопределить парочку прототипов и сдобрить это побитовыми операторами (или регэкспами, на ваш вкус), чтобы получить фигню такого типа.

это не фигня, а знание спецификации.

Livanderiaamarum 12.12.2011 22:51

Цитата:

Сообщение от trikadin (Сообщение 142333)
+1 к nerv_, dmitriymar.

На самом деле, вообще не вижу смысла в таких задачах. На мой взгляд, куда большим показателем является умение написать сложный интерфейс или систему, а не умение решить непонятную хрень.

В принципе, достаточно добавить множество разных операторов, массивов, объектов, переопределить парочку прототипов и сдобрить это побитовыми операторами (или регэкспами, на ваш вкус), чтобы получить фигню такого типа.

а мне вот интересно решать такие задачки, это помогает отточить понимание того что происходит внутри движка)
+ ко всему это интересно

melky 12.12.2011 22:53

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 142337)
melky, чуть более объемные (и не по теме), но тем не менее, несложные задачки:
http://challenges.ictf2011.info/challenges/challenge_38
http://challenges.ictf2011.info/challenges/challenge_37

дайте пожалуйста пример решения одной из них. я плохо понимаю, чего там от меня хотят :)

dmitriymar 12.12.2011 22:55

Цитата:

Сообщение от melky
это не фигня, а знание спецификации.

какой спецификации? из головы придуманных вопросов не имеющих к реальности никакого отношения ? того что разработчики вообще не предполагали?
дак на тебе подобную задачу:
что такое жизнь если время относительно и свойства время зависят от факторов?
будешь жить своей жизнью или будешь морочить голову этим вопросом,забивая на свою жизнь ?

trikadin 12.12.2011 22:59

Цитата:

Сообщение от melky
это не фигня, а знание спецификации.

О спецификации ни слова плохого не сказал) И её знании. Я ругался в адрес таких задач.

Я высказал своё мнение. Мне нечего добавить.

melky 12.12.2011 23:02

Цитата:

Сообщение от dmitriymar (Сообщение 142344)
какой спецификации? из головы придуманной ? того что разработчики вообще не предпологали?
дак на тебе подобную задачу:
что такое жизнь если время относительно и свойства время зависят от факторов?

свойства времени зависят в первую очередь от скорости тела. если скорость тела приближается к такой, примерно равной скорости света, то оно искривляет пространство-время вокруг себя :
а) время для него течёт медленнее (относительно земного).
б) с расстояние до точки становится меньше (относительно земного)
...
я что-то помню из курса физики :) в этом году ещё егэ сдавал.

dmitriymar, не реагируй ты так. парень просто выкладывает задачки, где одна фича соответствует двум словам из текста, придуманного дядьками. эти задачи мне интересно решать, потому что они сложные. ничего личного :)

Цитата:

Сообщение от trikadin (Сообщение 142347)
О спецификации ни слова плохого не сказал) И её знании. Я ругался в адрес таких задач.
Я высказал своё мнение. Мне нечего добавить.

хм. и правда. ты сказал насчёт задач, которые проверяют знания этой спецификации.
бык и красная тряпка.
прошу меня извинить :)

B@rmaley.e><e 12.12.2011 23:04

melky, нужно найти строку, которую можно вбить в поле и получить Congrats! You successfully solved the challenge!.
Что искать, как искать — не говорится.

melky 12.12.2011 23:11

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 142352)
melky, нужно найти строку, которую можно вбить в поле и получить Congrats! You successfully solved the challenge!.
Что искать, как искать — не говорится.

наверное, говорится
Цитата:

Money mules keep a low profile. So does this flag. But there is no place to hide.
хаха,только как это перевести ?)
побегаю по гуру англицкого, благо есть такие.
ответ - сюда.

B@rmaley.e><e 12.12.2011 23:17

melky, не, это стандартное бла-бла-бла.
Цитата:

Денежные мулы (ну или как там) держатся незаметно. Как и этот флаг. Но здесь негде прятаться.

melky 12.12.2011 23:20

второе
Цитата:

Отмывание денег - это как обфускация JS:ты берёшь немного грязных денег\кода и ты делаешь это похожим на что то другое. Поэтому обфусцироваие JS остаётся на завтрак. Под конец дня я отмываю деньги.


Часовой пояс GMT +3, время: 08:42.