Области видимости переменных и функций
Здравствуйте.
Вопрос по самым основам. У меня есть несколько функций, и мне необходима переменная, которая должна быть доступна для всех этих функций. 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, время: 07:55. |