Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как вызвать функцию определенную ниже по тексту


Автор: neokoder 30.10.2010, 08:26
Привет! Как на javascript можно вызвать функцию определенную ниже в тексте. В С, например, достаточно объявить прототип функции, а на javascript не получается так.

Автор: ksnk 30.10.2010, 08:48
То есть? Как вызвать функцию до ее фактического определения? javascript -  интерпретатор - он сразу выполняет прочитанную строку. Что. примерно, нужно написать-то? Всегда есть способ сделать это правильно  smile 

В С совсем другая история. Там собственно выполнение программы происходит уже после того, как все оттранслировано. Можно было бы разаботчикам обойтись и без прототипов, фактически без потери функциональностей языка.

Автор: neokoder 30.10.2010, 10:03
Цитата(ksnk @  30.10.2010,  08:48 Найти цитируемый пост)
о есть? Как вызвать функцию до ее фактического определения? 

Как на С например. Под определенной ниже функцией подразумевался полный ее текст. 

Цитата(ksnk @  30.10.2010,  08:48 Найти цитируемый пост)
javascript -  интерпретатор - он сразу выполняет прочитанную строку

Я говорю о функциях а не об операторах. 
Цитата(ksnk @  30.10.2010,  08:48 Найти цитируемый пост)
Что. примерно, нужно написать-то? Всегда есть способ сделать это правильно

С вызовом функций возникают вопросы, постоянно приходится вызываемую наверх подтягивать. А так бы определить прототипы и избавиться от этого.

Автор: Dastan 30.10.2010, 10:37
Код

foo();

function foo() {
    alert('boo');
}


 smile 

Автор: ksnk 30.10.2010, 14:30
Dastan,  smile 
я чего-то стормозил...  smile

Добавлено через 11 минут и 46 секунд
не, не совсем стормозил  smile 
Код

<script>
foo()
</script>

Hello!

<script>
function foo(){alert('hello');}
</script>


Добавлено через 12 минут и 37 секунд
Броузер передает javascrip-машине кусочки текста и она их тут-же выполняет... не построчно, а поскриптно.

Автор: neokoder 31.10.2010, 09:26
Мужики, это я немного накосячил с вопросом. Действительно можно вызывать. Че то я я какие-то глюки словил  smile , но точно помню что мне ошибку выдавал про неизвестную функцию, которая была ниже определена. Может я ее просто неверно написал и не заметил  smile .

Модераторы, если можете удалите тему,  она бесполезна теперь будет только загромождать форум!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)