Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Не могу вынести настройки за function() (https://javascript.ru/forum/server/21027-ne-mogu-vynesti-nastrojjki-za-function.html)

makar3000 26.08.2011 13:57

Не могу вынести настройки за function()
 
deliteddd deliteddd

B@rmaley.e><e 26.08.2011 13:59

Торжественно благословляю Вас на это
var pops = 'test';
setTimeout(function() {
alert(pops);
}, 1000);

makar3000 26.08.2011 14:04

deliteddd deliteddd

B@rmaley.e><e 26.08.2011 14:11

Вы объявили локальную функцию и удивляетесь, почему она не доступа в глобальном пространстве имён.

makar3000 26.08.2011 14:15

Так можно как нибудь так сделать!?

B@rmaley.e><e 26.08.2011 14:16

Ну так объявите её в глобальном пространстве имён, раз она Вам нужна там.

makar3000 26.08.2011 14:18

deliteddd deliteddd

B@rmaley.e><e 26.08.2011 14:22

И?

makar3000 26.08.2011 14:26

deliteddd deliteddd

B@rmaley.e><e 26.08.2011 14:30

Не менее ясно я дал ответ:
Цитата:

Сообщение от B@rmaley.e><e
объявите её в глобальном пространстве имён

Почитайте про области видимости, что ли.

makar3000 26.08.2011 14:43

deliteddd deliteddd

B@rmaley.e><e 26.08.2011 14:48

Цитата:

Сообщение от makar3000
Цитата:

Будет в файле .js а test(1); уже на сайте в тегах <script></script>

И что это меняет?

makar3000 26.08.2011 14:53

deliteddd deliteddd

B@rmaley.e><e 26.08.2011 15:00

Вы мои сообщения читаете? Вы по-прежнему объявляете функцию test в локальной области видимости.

Gozar 26.08.2011 15:06

makar3000,
Так как ты написал работать не будет никогда. test(1) никогда не увидит определение функции внутри другой функции. Тебе уже ответили, зря возмущаешься.

ps: А зачем ты определение функции пихаешь в setTimeout?, почему ты в него вызов функции не пихаешь?

Почему не так:
//  это в файле
function test(id) {
 $('.test').html('Вывод текста1');
 }

//а это в тегах script
setTimeout(function() {
 test(10);
 }, 1000)

makar3000 26.08.2011 15:36

deliteddd deliteddd

Kolyaj 26.08.2011 15:38

Цитата:

Сообщение от makar3000
Скрипт должен исполнятся после 1сек.

Так и исполняйте его через 1 секунду. Почему вы его создаёте через 1 секунду, а исполнять пытаетесь сразу?

Gozar 26.08.2011 15:43

Цитата:

Сообщение от makar3000 (Сообщение 122684)
Понимаете нужно сделать что бы скрипт был в файле а настройки его в html документе а не на оборот.

Тебе это все и предлагают делать, включая меня.

makar3000 26.08.2011 19:39

Kolyaj спасибо так и нужно было сделать) Закрывайте!


Часовой пояс GMT +3, время: 04:47.