Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.01.2012, 17:50
Новичок на форуме
Отправить личное сообщение для lisawow Посмотреть профиль Найти все сообщения от lisawow
 
Регистрация: 18.01.2012
Сообщений: 4

Когда допустим такой вызов: Funct()();
function Funct() {
  var a = 2;
  var func = function() { alert(a); };
 return func; 
}

Funct()();


Почему вызов просто с Funct(); (без ещё одних скобок) не работает?
Ответить с цитированием
  #2 (permalink)  
Старый 18.01.2012, 18:06
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

lisawow,
наверное потому что вы возвращаете ф-ию
__________________
оляля, ололо
Ответить с цитированием
  #3 (permalink)  
Старый 18.01.2012, 18:08
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

Этот метод возвращает другой метод. Если вызовете просто Funct(), то все сработает, но вы получите, не то, что, наверняка ожидали.

function Funct() {
  var a = 2;
  var func = function() { alert(a); };
 return func; 
}

Funct()();

//Аналогично
var method = Funct();
method();
__________________
readOnly
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2012, 18:35
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Ой-да...тупанул что-то
Если вы напишете просто:
Funct(), то все будет работать...но как уже сказали не так как вы хотите. Тогда вам вернется лишь значение самой переменной(но не ф-ия).
<script>
function Funct() {
  var a = 2;
  var func = function() { alert(a); };
 return func; 
}
alert(Funct());
alert(typeof Funct()); //хотя это и ф-ия...
</script>

Когда вы пишете Funct()(), это как func() - то есть вызывается ваш алерт...
__________________
оляля, ололо
Ответить с цитированием
  #5 (permalink)  
Старый 19.01.2012, 14:24
Новичок на форуме
Отправить личное сообщение для lisawow Посмотреть профиль Найти все сообщения от lisawow
 
Регистрация: 18.01.2012
Сообщений: 4

Спасибо.

Разобралась
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что означает такой вызов? ksa jQuery 0 21.12.2010 13:45