Функция в функции
window.onload = function(){
var x = new func1('k')
здесь нужно вызвать функцию func2 () // появится сообщение alert('k')
}
function func1(e) {
var Myvar = e;
function func2 (){
alert(Myvar)
}
}
|
var x = new func1('k');
x.func2(); // появится сообщение alert('k')
var y = new func1('l');
y.func2(); // появится сообщение alert('l')
function func1(e) {
return {
func2 : function(){
alert(e);
}
}
}
|
А если мне нужно функцию func2() вызвать внутри функции func1(), а так она не вызывается.
Пробовал так - не работает
var x = new func1('k');
//x.func2();
function func1(e) {
function func2(){
alert(e);
}
return {
func2 : func2()
}
}
|
Объясните мне кто нибудь что значит приведённая строка внизу, учитывая что func2() это alert(e)
return { func2 : func2() }
|
Кажется разобрался:
var x = new func1('k');
//x.func2();
function func1(e) {
function func2(){
alert(e);
}
return {
func2 : func2
}
}
|
Хорошо, что значит тогда это:
return { func2 : func2 }
Какого результата вы добиваетесь этим? Я реально не в теме. |
с помощью функции x.func2(); я могу вызвать функцию func2();, находящуюся в функции func1(), независимо от её расположения.
Хотя я честно говоря сам не понимаю, как это работает: 'return { func2 : func2 }' |
//(расположения x.func2();)
|
Ну я понимаю, что вы просто экспериментируете. А если просто поставить return, вы вызвать внутреннюю функцию не сможете?
var x = new func1('k');
//x.func2();
//x.func3();
//x.func4();
function func1(e) {
function func2(){
alert("func2" + e);
}
function func3(){
alert("func3" + e);
}
function func4(){
alert("func4" +e);
}
return;
}
|
ну а если мне нужно, скажем, вызвать только одну из этих функций
|
Цитата:
return { func2 : func2 } возвращает объект с функцией, к элементам которого можно обратиться извне. |
var x = new func1('k');
x.func2();
x.func3();
x.func4();
function func1(e) {
function func2(){
alert("func2" + e);
}
function func3(){
alert("func3" + e);
}
function func4(){
alert("func4" +e);
}
return;
}
|
не работает
|
Цитата:
|
Faab,
да. Функция должна что-то возвращать, чтоб к этому можно было обратиться |
| Часовой пояс GMT +3, время: 01:13. |