Насколько я знаю, function foo() { aaa(); } - это просто var foo = function(){ aaa() } в JavaScript. Поэтому добавление function foo() { bbb(); } должно либо перезаписывать переменную foo, либо игнорировать второе определение - это не точка. Дело в том, что должна быть одна переменная foo.
Итак, в этом примере переменная me должна быть не корректно разрешена внутри методов , и она не находится в Explorer 8: -). Я пришел к этому примеру, пытаясь обернуть их в другое закрытие, где (var) me будет, но я был удивлен, что это не нужно:
var foo = {
bar1 : function me() {
var index = 1;
alert(me);
},
bar2 : function me() {
var index = 2;
alert(me);
}
};
foo.bar1(); // Shows the first one
foo.bar2(); // Shows the second one