Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Зона видимости, внешня (https://javascript.ru/forum/misc/26053-zona-vidimosti-vneshnya.html)

ilyavik 23.02.2012 21:47

Зона видимости, внешня
 
Извиняюсь, случайно нажал enter, не дописав назване темы
Код:

render = function(view){
    //обработчик, формирующий var str =
    res.end(str);
}

xxx.createListener(function(req, res){
    render('index');
});

Как сделать , чтобы render('index') вызывался, имея в своей зоне видимости req и res, не изменяя строку render('index')?

Задача - вывести render за пределы createListener. Можно использовать прототипы, как-то инициализировать функцию render внутри createListener. Всё, что угодно, только само тело render должно находиться за пределами.

Nekromancer 23.02.2012 22:04

ilyavik,
Передавать ещё 2 аргумента, res и req :)

ilyavik 23.02.2012 22:17

Цитата:

Сообщение от Nekromancer (Сообщение 159500)
ilyavik,
Передавать ещё 2 аргумента, res и req :)

Нельзя изменять строку render('index'), поэтому не получится

Nekromancer 23.02.2012 22:19

ilyavik,
тогда никак.

И вообще, как программировать, если нельзя изменять программный код. Зачем такие извращения.

ilyavik 23.02.2012 22:28

Цитата:

Сообщение от Nekromancer (Сообщение 159506)
ilyavik,
тогда никак.

И вообще, как программировать, если нельзя изменять программный код. Зачем такие извращения.

Если в лоб, то можно с помощью eval() "скопировать" функцию внутри createListener, но это не то.

Nekromancer 23.02.2012 23:47

ilyavik,
почему нельзя менять строку?

ilyavik 24.02.2012 02:01

Цитата:

Сообщение от Nekromancer (Сообщение 159522)
ilyavik,
почему нельзя менять строку?

Такое условие задания, которое дал препод.

DreamTheater 24.02.2012 02:35

Цитата:

Сообщение от ilyavik (Сообщение 159557)
Такое условие задания, которое дал препод.

Напиши полностью задание, а то непонятна суть.


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