У меня проблема с областью. У меня есть следующий код, который реализует шаблон раскрывающего модуля:Явный доступ к модулю var из функции модуля при выявлении шаблона модуля
myModule = function(){
var foo = "ohai";
function sayOhai(foo){
alert(foo);
};
return{
sayOhai : sayOhai
};
}();
myModule.sayOhai("configData");
Это приводит к диалогу «configData».
Однако, я хочу, чтобы функция sayOhai говорила «охай», используя определенный var. Предполагалось, что я не хочу изменять имя параметра sayOhai, как я могу получить доступ к значению foo в sayOhai? Я попробовал alert (this.foo)
, но это не определено.
Опять же, это теоретический вопрос, поэтому изменение sayOhai(foo)
- это не решение, которое я ищу. Имя var и параметр метода должны оставаться неизменными. Итак, из области sayOhai, какое полное имя var foo?
Заранее спасибо
По этой причине я использую _foo для внешнего foo. Ваш параметр не ударит по конфликту имен, если вы не используете _ в именах параметров, которые, как я думаю, никто не делает. – Frug
@Frug Конечно, но я не думаю, что это то, что задают. Кстати, это совпадение, что у нас обоих есть один и тот же аватар ?! – bfavaretto
Это странный тип совпадения Эшера и извратил меня, когда я тоже это увидел. – Frug