地獄のJavaScript2
(ε・◇・)з 戦いはこれからだ!
http://jsdo.it/uupaa/hellsjs2 で動かせるよ
// forked from uupaa's // "地獄のJavaScript (Symbolic JavaScript)" // http://jsdo.it/uupaa/hellsjs uu.ready("window", function(uu, doc) { uu.mix(window, uu); uu.config.log.rollup = 1000; // logロールアップ回避 // use: $=_-+~[]{}()*/<!\;" $ = -~[]; // 1 $$ = $+$; // 2 $$$ = $$+$; // 3 $$$$ = $$$+$; // 4 $$$$$ = $$$$+$; // 5 $$$$$$ = $$$<<$; // 6 $$$$$$$ = $$$$$$+$; // 7 $$$$$$$$ = $$<<$$; // 8 $$$$$$$$$ = $$$*$$$; // 9 _ = +[]; // 0 __ = // "constructor" (""+{})[$$$$$] + // c (""+{})[$] + // o (""+$/_)[$] + // n (""+![])[$$$] + // s (""+!![])[_] + // t (""+!![])[$] + // r (""+[][[]])[_] + // u (""+{})[$$$$$] + // c (""+!![])[_] + // t (""+{})[$] + // o (""+!![])[$]; // r ___ = // "return " (""+!![])[$] + // r (""+!![])[$$$] + // e (""+!![])[_] + // t (""+[][[]])[_] + // u (""+!![])[$] + // r (""+$/_)[$] + // n " "; ____ = // "self" (""+![])[$$$] + // s (""+!![])[$$$] + // e (""+![])[$$] + // l (""+![])[_]; // f _____ = // "proto" (""+/ /[__])[$$$$$$$*$$] + // p (""+!![])[$] + // r (""+{})[$] + // o (""+!![])[_] + // t (""+{})[$]; // o ______ = // "type" (""+!![])[_] + // t (""+$/_)[$$$$$$$] + // y (""+/ /[__])[$$$$$$$*$$] + // p (""+!![])[$$$]; // e $_ = ""[__][__]; // new Function $$_ = $_((___+____))(); // new Function("return self")() -> DOMWindow /* 8 = $$<<$$; 9 = $$$$$$$$$; 10 = $$$$$<<$; 20 = $$$$$<<$$; new Function = "".constructor.constructor "function RegExp() { [native code] }" 25 = / /[__]; "function Number() { [native code] }" = (0)[__]; undefined = [][0]; true = !![]; // or !+[] false = ![]; // or !!+[] NaN = -{}; // or +{} Infinity = 1/0; "[object Object]" = (""+{}) -1 = ~[]; 0 = +[]; // or -[] // or +"" -2147483648 = -1 << -1; 2147483647 = ~(-1 << -1); */ log('"a" = @', (""+![])[$] ); log('"b" = @', (""+{})[$$] ); log('"c" = @', (""+{})[$$$$$] ); log('"d" = @', (""+[][[]])[$$] ); log('"e" = @', (""+!![])[$$$] ); log('"f" = @', (""+![])[_] ); log('"g" = @', (""+/ /[__])[$$$$$*$$+$] ); // 11 log('"i" = @', (""+$/_)[$$$] ); log('"j" = @', (""+{})[$$$] ); log('"l" = @', (""+![])[$$] ); log('"m" = @', (""+(_)[__])[$$$$$*$$+$] ); // 11 log('"n" = @', (""+$/_)[$] ); log('"o" = @', (""+{})[$] ); log('"p" = @', (""+/ /[__])[$$$$$$$*$$] ); // 14 log('"r" = @', (""+!![])[$] ); log('"s" = @', (""+![])[$$$] ); log('"t" = @', (""+!![])[_] ); log('"u" = @', (""+[][[]])[_] ); log('"v" = @', (""+/ /[__])[$$$$$$*$$$$+$] ); // 25 log('"x" = @', (""+/ /[__])[$$$*$$$$+$] ); // 13 log('"y" = @', (""+$/_)[$$$$$$$] ); log('"E" = @', (""+/ /[__])[$$$*$$$$] ); // 12 log('"I" = @', (""+$/_)[_] ); log('"N" = @', (""+(+{}))[_] ); log('"O" = @', (""+{})[$$<<$$] ); // 8 log('"R" = @', (""+/ /[__])[$$$*$$$] ); // 9 });