| 
 Вызов функции, находящейся в другой функции Добрый день! Есть такая функция: 
function func1(p1, p2) {
   function func2() {alert(1);}
   func2();
}
Мне нужно вызвать func2 за пределами func1 Как это можно сделать? | 
| 
 Никак, очевидно. | 
| 
 Очевидно, нужно вызвать func1, потому что она ничего не делает, кроме вызова func2:D | 
| 
 
function func1(par1, par2){
function func2(){alert("hi, i'm fired from func2")}
this.f2name = func2;
this.v1=par1
this.v2=par2
}
var f1 = new f1(null, null)
f1.f2name()
в javascript function - это объект. Всё, что описано в функции через ключевое слово this - доступно (аналог public) извне по имени. | 
| 
 Цитата: 
 | 
| 
 Цитата: 
 | 
| 
 Можно использовать  arguments.callee.При этом весь scope func1 останется (см. значение переменной i) 
function func1(){
var i = 3;
function func2(){alert("hi, i'm fired from func2\r\ni=" + i)}
arguments.callee.func2 = func2;
}
func1();
i = 42;
func1.func2();
 | 
| Часовой пояс GMT +3, время: 22:46. |