Q for the language lawyers!
Here's the code:
function f(p)
{
alert("f("+p+") with this="+this);
}
var a = [f];
a[0]("index");
-----------------------------
Shouldn't a[0]("index") invoke f with this===a, since a is the 'base'
of the reference a[0]?
It doesn't, it invokes f with (apparently) this===f.
whereas
var b = new Object;
b.m = f;
b.m("method");
invokes f with this===b.
I seem to be about 3 years late asking a question like this, but I'm
writing this Javascript compiler...