0, abc, true { a: 12, b: function() {...} }
Function, Date, Math
var a = 1;
a = '1';
0, null, undefined, false, "", NaN
[] + [] = ""
[] + {} = [object Object]
{} + [] = 0
{} + {} = NaN
eval('a = b+1')
var f = function() {};
n = f.length;
f.call();
button.onclick(f);
var adder = function(b) {
return function(a) { return a+b }
}
var parent = { prop: 'foo' };
var child = Object.create(parent);
enfant.prop; // 'foo'
obj.getProp = function() {
return this.prop
}
obj.getProp();
obj.getProp.call(obj2);
X=x*Math.cos(a)-y*Math.sin(a);
Y=x*Math.sin(a)+y*Math.cos(a);
C=Math.cos;
X=x*C(a)-y*C(a+11);
Y=x*C(a+11)+y*C(a);
a = Math.floor(b);
a = 0 | b;
if (a != 0) { b = 'on' }
a && b = 'on';
setInterval(function F(a) {
if (a) { return ... }
...
b = F(12);
...
}, 100);
for(k in c)c[k[0]+[k[6]]]=c[k];
c.fc == c.fillRect
c.qt == c.quadraticCurveTo
c.da == c.drawImage
...
for(k in g)g[k.match(/^..|[A-Z]|1f$/g).join('')]=g[k];
g.coS == g.compileShader
g.enVAA == g.enableVertexArrayAttribute
g.veAP == g.vertexAttributePointer
...
_="X=x*Math.cos(a)-y*Math.sin(a);Y=x*Math.sin(a)+y*Math.cos(a);"
_="X=x2-y1;Y=x1+y2;4*Math.3(a)24cos314sin3"
for(Y=0;$="tokens"[Y++];)Z=_.split($),_=Z.join(Z.pop());eval(_)
<script>
var o=new Image();
o.onload=function() {
r="",t=document.createElement("canvas").getContext("2d");
t.drawImage(o,0,0);d=t.getImageData(0,0,o.width,o.height).data;
for(i=0;d[i];i+=4)r+=String.fromCharCode(d[i]);
eval(r)
};
o.src=m.png";
</script>
...image data...
<canvas id=c>
<img src=# onload="for(a=c.getContext('2d'),i=e='';a.drawImage(this,i--,0),t=a.getImageData(0,0,1,1).data[0];)e+=String.fromCharCode(t);eval(e)">
</canvas>