Is there a reason why were not able to "NOT" define the first argument to Function.prototype.bind and have it retain the context its being called in.
I have a use case where its very useful to do this however it seems like passing null or undefined as the first argument binds the output function to Window.
Another way of saying this means it seems the current implementation of native bind does not allow you to not bind the context of the function and only bind argument prefixes to the bound the function.
Ex:
var a = function() {
this.foo = function() { console.log(this) };
this.foo = this.foo.bind(undefined,1);
};
var b = new a();
b.foo(); // Logs Window instead of the instance b;
This was tested in Google Chrome Version 27.0.1453.116 m
this.foo.bind(this,1);?