javascript进行Function扩展后,在执行匿名函数,为什么会执行到扩展函数中?

[size=medium][b]

Function.prototype.f = function(){
alert(this.toString());
}
(function(){

})();

[/b][/size]

[b][size=medium]Function扩展后,在执行匿名函数,会弹出[Object].....求解答。。。谢谢[/size][/b]

少了
楼主的代码跟这个是等价的了
[code="js"]
Function.prototype.f = function(){
alert(this.toString());
}();
[/code]

因为后面还有一个括号
匿名函数() ();后面这个括号就是调用

alert(this.toString());
}后面少了一个;
现在的意思变成了f=function()(xxx)();