Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
[]['constructor']['constructor']('alert(this)')();
… однако это не так, не вдаваясь в подробности представления чисел и всякие дебри (мантиссы, знаковые разряды) ...
особенность js (и не только), в том, то при булевых операциях если операнд не является булевым типом и не равен 0 то он признается за true
0, false, undefined, null, '' (пустой строке), то он приводится к false. Во всех остальных случаях — к true.var hash = function(){var _=substr(1, 2, substr(2, 4, 'ngveifq3dm3129ejf'))(); return substr(5, 3,_)+substr(6, 8,_).... деталей сейчас уже не вспомню.if(window.alert) return true; else return false в браузере вернёт true а в голом интерпретаторе false)Давайте еще подумаем, сколько будет -1/-0? Бесконечность
Еще раз об обфускации JavaScript или сказ о том, как я обфускатор писал. Часть 1