JavaScript 240 228
最初の提出:
z=(!1+"")[1];y=(!!1+"")[3];x={}+"";w=x[1];v=x[2];u=z+"t"+w+v;1[_="c\157nstruct\157r"][_](z+'l'+y+'rt('+u+'("Iy\x51lJj"+'+(t=u+'("\x51\x51==")')+'+'+u+'("M"+'+t+'+"==")+"Nj"+'+u+'("Zw==")+"5\x51EFC\x52E\71\x51UVJhYm\x52lZ2\71wc\x51=="))')()
さて、これは素晴らしいスタートです、それがどのように分解するかです...
z=(!1+"")[1]; // assigns "a" to z, !1+"" === "false"
y=(!!1+"")[3]; // assigns "e" to y, !!1 === "true"
x={}+""; // assigns "[object Object]" to x
w=x[1];v=x[2] // assigns "o" to w, and "b" to v
u=z+"t"+w+v; // creates the mystical "atob" command, yes, I'm gonna use it!
1[_="c\157nstruct\157r"][_] // sets up the primitive to a number object... this acts similar to the "window" primitive object so that I can play off functions...
z+'l'+y+'rt( // starts creating an alert call
'+u+'("Iy\x51lJj"+'+(t=u+'("\x51\x51==")')+'+'+u+'("M"+'+t+'+"==")+"Nj"+'+u+'("Zw==")+"5\x51EFC\x52E\71\x51UVJhYm\x52lZ2\71wc\x51=="))')()
// Above line abuses atob command with a couple of nested instances of the command, also using hex and octal equivalents of characters
そして、私は... "もっと簡単な方法があるに違いない..."と思いました...
修正された提出:
z=(!1+"")[1];y=(!!1+"")[3];x={}+"";w=x[1];v=x[2];u=z+"t"+w+v;this[y+"v"+z+"l"](z+'l'+y+'rt('+u+'("Iy\x51lJj"+'+(t=u+'("\x51\x51==")')+'+'+u+'("M"+'+t+'+"==")+"Nj"+'+u+'("Zw==")+"5\x51EFC\x52E\71\x51UVJhYm\x52lZ2\71wc\x51=="))')
私が使用することができます見てeval
(一緒@bebeからインスピレーションを、それを縫い合わせによって、使用してより多くの速くなるconstructor
のconstructor
がnumber
...)私は228にそれをドリルダウン...私はそれは、この特定のゴルフチャレンジを獲得しないことがあり知っています、これは、JavaScriptをどれほど悪用しても、望ましい結果が得られることを示すための私の方法です...