Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.04.2015, 14:26
Новичок на форуме
Отправить личное сообщение для rgba Посмотреть профиль Найти все сообщения от rgba
 
Регистрация: 19.04.2015
Сообщений: 7

Области видимости переменных и функций
Здравствуйте.
Вопрос по самым основам. У меня есть несколько функций, и мне необходима переменная, которая должна быть доступна для всех этих функций.
var a = 5;

myFunc(){
    //... do something
}

myFunc();

Теперь я хочу, чтобы переменная a была локальной.
(function(){
    var a = 5;

    myFunc(){
        //... do something
    }
})();

myFunc();


Но теперь вызов myFunc() не работает, получаю ошибку, что функция не объявлена.
Как мне получить локальную переменную и работоспособный код?

Последний раз редактировалось rgba, 29.04.2015 в 14:37.
Ответить с цитированием
  #2 (permalink)  
Старый 29.04.2015, 15:41
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Что в четвертой строке происходит?
Ответить с цитированием
  #3 (permalink)  
Старый 29.04.2015, 15:58
Новичок на форуме
Отправить личное сообщение для rgba Посмотреть профиль Найти все сообщения от rgba
 
Регистрация: 19.04.2015
Сообщений: 7

Сообщение от Erolast Посмотреть сообщение
Что в четвертой строке происходит?
я там не дописал, извиняюсь.
(function(){
    var a = 5;

    myFunc(b){
        a = b;
    }
})();

myFunc(1);

Весь смысл в том, что я хочу вынести основной код в js файл, а на странице оставить только вызов функции с передаваемыми параметрами.
Ответить с цитированием
  #4 (permalink)  
Старый 29.04.2015, 16:08
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Повторяю вопрос - что происходит в четвертой строке? Это что вообще такое? Объявление или вызов?
Ответить с цитированием
  #5 (permalink)  
Старый 29.04.2015, 16:17
Новичок на форуме
Отправить личное сообщение для rgba Посмотреть профиль Найти все сообщения от rgba
 
Регистрация: 19.04.2015
Сообщений: 7

Сообщение от Erolast Посмотреть сообщение
Повторяю вопрос - что происходит в четвертой строке? Это что вообще такое? Объявление или вызов?
Объявление, теперь увидел, что я еще и function пропустил.

Последний раз редактировалось rgba, 29.04.2015 в 16:33.
Ответить с цитированием
  #6 (permalink)  
Старый 29.04.2015, 17:30
Интересующийся
Посмотреть профиль Найти все сообщения от nondeterminism
 
Регистрация: 27.04.2015
Сообщений: 18

var a = 5;
myFunc=function(){
    alert(a)
}
 
myFunc();

(function(){
    var a = "inner";
    var myFunc=function(){alert(a)}
    myFunc()
})();
 
// ::: 5
// ::: inner
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к главной области видимости Penetrator Angular.js 1 21.01.2015 23:13
Событие JS, объект выходит из области видимости браузера Z@R@ Events/DOM/Window 1 28.01.2013 07:02
Области видимости событий Turok Events/DOM/Window 3 14.08.2011 20:26
области видимости элементов zaytsewa jQuery 14 11.01.2011 16:49
область видимости переменных jetli13 Общие вопросы Javascript 3 17.09.2010 11:00