Unusual JavaScript
Привет! У меня появилась и постепенно реализуется идея создания задачника по JavaScript. Он будет включать задания вроде:
При этом задания будут группироваться по степени сложности - чем ближе к концу, тем сложнее. Определенному блоку заданий в конце раздела будет соответствовать поясняющая теория. Я хочу сделать дополнительный раздел "Необычный JavaScript" - в нём будут размещены примеры "странного поведения" JavaScript. Конечно, понятие "странное поведение" весьма условно. Но это будут примеры сложной, неочевидной логики языка и читающим будет очень полезно для обучения разобрать их. Буду очень признателен Вам, если поделитесь случаями "исключительного" поведения языка из своей практики или хитрыми примерами на понимание языка. |
Цитата:
первое что на ум приходит -- это е*тая 2-х проходная компиляция if(false) function x (){a = 1} x() alert(a) Причем в разных движках это работает со своими ньюансами. Одна из причин забыть о function declarations |
>>хитрыми примерами на понимание языка.
Вот на этом примере 90% разрабов ложается with({a: 1}) a = 2, b = 3 alert([window.a, window.b]) |
Вот еще тебе wtf, с ES6
new Promise(function(){}).then(function(){throw "err"}) setTimeout(function(){alert("no Error:)")}, 1000) |
На приведении типов можно здорово обосраться
if("" == 0) alert("'' == 0") if("0" == 0) alert("'0' == 0") if("00" == 0) alert("'00' == 0") if("\t" == 0) alert("\t == 0" ) |
|
Цитата:
Таких "задачников" существует более чем нужно. Только знание наизусть подобной чепухи никак не кореллирует со знанием чего-то полезного. |
Цитата:
|
vasa_c,
1) Цитата:
Более того, многие мастистые товарищи пишут книги, несмотря на то, что полно написанного и неопубликованного до них. Кошмар, они не оригинальны! Я не понимаю твоей 'оригинальной' логики. 2) Цитата:
3) Цитата:
К слову_1: существует множество веб-приложений с довольно похожим функционалом. Тем не менее, их продолжают создавать (с отличиями в User Interface). Нарисована куча картин и живописей - всё хорош! Нет, продолжают рисовать. И так далее. К слову_2: Пойми, что мир не оригинален. Всё, что называется 'новым', есть суть обновленные старые идеи. Если тебе в голову пришла какая-то мысль, то это не значит, что она не пришла некоторому множеству других людей. Например, у меня так было с LESS. Я некоторые свои мысли встретил в его функционале при знакомстве. В частности, примеси и &. К слову_3: ты, наверно, и сам осознаешь 'ребячество' своих слов |
Часовой пояс GMT +3, время: 04:54. |