Насколько я знаю, 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