スコープとか関係なしに、関数名が同じなら prototype は同じものが使用されます。
匿名関数は匿名関数同士で共有されます。
function a () {
function f () { }
f.prototype.foo = 'bar';
}
function b () {
function f () { }
alert (f.prototype.foo); // bar
}
a ();
b ();
alert (
(function () { }).prototype === (function () { }).prototype
); // true
ちなみに { }.prototype で Object.prototype を参照してしまいます。