new new new new new new new new foo () () () () () () () () () () () () () () () () () () () () () () () == foo /* true */
<script> function foo() { return this.constructor == foo ? this.constructor : arguments.callee; } alert(new new new new new new new new foo () () () () () () () () () () () () () () () () () () () () () () () == foo); </script>
<script type="text/javascript"> function foo(){ return arguments.callee; } alert(new new new new new new new new foo () () () () () () () () () () () () () () () () () () () () () () () == foo); </script>
[foo][foo][foo][foo][foo][foo][foo][foo][foo][foo]() == foo; /* true */
foo
foo=function(){ return arguments.callee; } foo['0']=foo; foo.toString = function(){return '0';} alert( [foo][foo][foo][foo][foo][foo][foo][foo][foo][foo]() == foo)