Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.02.2014, 11:45
Аспирант
Отправить личное сообщение для pro_xaoc Посмотреть профиль Найти все сообщения от pro_xaoc
 
Регистрация: 23.03.2011
Сообщений: 69

Вызов функции, находящий внутри метода
Уважаемые, помогите решить проблемку.
Есть метод, внутри этого метода описана функция. Надо сделать доступ извне этой функции. Примерно так:
var obj={};
obj.func1 = function(){
  function myFunc(){}
}
obj.func1.myFunc();

но так не работает, пробовал так:
var obj={};
obj.func1 = function(){
  var myFunc = function(){}
}
obj.func1.myFunc();

тоже не работает. Тогда как? Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 01.03.2014, 01:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от pro_xaoc
тоже не работает. Тогда как?
Ты знаешь че такое локальная переменная? Пока функция, в которой локальная переменная объявлена, не исполнится - переменной создано не будет. То есть ты пытаешься вызвать функцию, которая даже не существует, шаришь?

Почему бы не объявлять все функции свойствами obj, по примеру func1?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 01.03.2014, 08:29
Аспирант
Отправить личное сообщение для pro_xaoc Посмотреть профиль Найти все сообщения от pro_xaoc
 
Регистрация: 23.03.2011
Сообщений: 69

danik.js, спасибо за очень быстрый ответ,
я знаю, что такое локальные переменные, решение оказалось таким: надо было объявить член объекта как объект.
var obj={};
obj.func1={};
obj.func1.myFunc = function(){}
obj.func1.myFunc();

Последний раз редактировалось pro_xaoc, 01.03.2014 в 08:33.
Ответить с цитированием
  #4 (permalink)  
Старый 01.03.2014, 08:41
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Кстати почему бы не записать литералом?
var obj = {
    func1: {
        myFunc: function() {}
    }
};

obj.func1.myFunc()
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 01.03.2014, 09:27
Аспирант
Отправить личное сообщение для pro_xaoc Посмотреть профиль Найти все сообщения от pro_xaoc
 
Регистрация: 23.03.2011
Сообщений: 69

danik.js,
хмм, и правда работает, и более наглядно выглядит. Спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов метода внутри метода при инициализации плагина SergXP jQuery 0 01.07.2013 22:27
Вызов функции из скрытого iframe Beer75 Общие вопросы Javascript 2 05.06.2013 21:36
Вызов метода из метода qwermjk Общие вопросы Javascript 25 16.10.2012 12:38
Можно ли писать определение функции внутри document.ready()? Fatalityap jQuery 7 10.06.2012 03:35
вызов метода return для функции-родителя evgen28 Общие вопросы Javascript 17 22.01.2009 15:46