вот имею я вложенные функции
function a(){
var paramA;
function b(){
var param B;
function c(){
var param C;
}
}
// Как тут в одном месте собрать все эти переменные ???
var resultA = paramA;
var resultB = paramB;
var resultC = paramC;
}
Что можно сделать, не прибегая к глобальным переменным и return, можно ли создать локальные переменные, которые будут глобальными внутри функции ? Чтобы paramC была видна в функции A, но не видна через window.

Спустя 2 часа, 59 минут, 48 секунд (21.09.2010 - 02:29) aH6y написал(а):
помойму можно сделать только глобальной переменной.
я js недавно осилил, но на этом очень неплохо стопорил...
я js недавно осилил, но на этом очень неплохо стопорил...
Спустя 8 часов, 26 минут, 22 секунды (21.09.2010 - 10:55) vasa_c написал(а):
Очевидно: определить её в функции a().
Спустя 2 часа, 47 минут, 8 секунд (21.09.2010 - 13:42) Slays написал(а):
function a(){
var paramA;
var paramB;
var paramC;
function b(){
var paramD = paramB;
function c(){
var paramE = paramC;
}
}
var resultA = paramA;
var resultD = paramD;
var resultE = paramE;
}
также ничего не даст, понятно что вложенные функции видят параметры родителей. Но родитель то их параметров не видит по прежнему. А мне надо именно в родительскую функцию достать то, что получилось в дочерних, но видимо нельзя.
Спустя 1 час, 6 минут, 39 секунд (21.09.2010 - 14:49) aH6y написал(а):
используйте глобальные переменные и всё будет работать

Спустя 41 минута, 53 секунды (21.09.2010 - 15:31) vasa_c написал(а):
Родители не должны видеть параметры (какие параметры? - переменные) контекстов вложенных функций.
Вложенные видят родительский контекст - так его и используйте.
Вложенные видят родительский контекст - так его и используйте.
function a() {
var one;
function b() {
one = 1;
}
b();
alert(one); // 1
}
Спустя 51 минута, 46 секунд (21.09.2010 - 16:22) Slays написал(а):
да, в итоге как-то так и сделал =) пример конечно же утрирован, на деле все намного сложнее, в итоге всю конструкцию переписывал )
_____________
если помог, не скупись на карму =)