Вызов функции, находящейся в другой функции
Добрый день!
Есть такая функция: 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, время: 12:30. |