Области видимости переменных и функций
Здравствуйте.
Вопрос по самым основам. У меня есть несколько функций, и мне необходима переменная, которая должна быть доступна для всех этих функций.
var a = 5;
myFunc(){
//... do something
}
myFunc();
Теперь я хочу, чтобы переменная a была локальной.
(function(){
var a = 5;
myFunc(){
//... do something
}
})();
myFunc();
Но теперь вызов myFunc() не работает, получаю ошибку, что функция не объявлена. Как мне получить локальную переменную и работоспособный код? |
Что в четвертой строке происходит?
|
Цитата:
(function(){
var a = 5;
myFunc(b){
a = b;
}
})();
myFunc(1);
Весь смысл в том, что я хочу вынести основной код в js файл, а на странице оставить только вызов функции с передаваемыми параметрами. |
Повторяю вопрос - что происходит в четвертой строке? Это что вообще такое? Объявление или вызов?
|
Цитата:
|
var a = 5;
myFunc=function(){
alert(a)
}
myFunc();
(function(){
var a = "inner";
var myFunc=function(){alert(a)}
myFunc()
})();
// ::: 5
// ::: inner
|
| Часовой пояс GMT +3, время: 08:39. |