Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   как вызвать функцию из функции (https://javascript.ru/forum/dom-window/50342-kak-vyzvat-funkciyu-iz-funkcii.html)

imedia 22.09.2014 19:12

как вызвать функцию из функции
 
есть функция
function inp(){
   function  inputupload () {
		alert('inputupload')		
}
}

как вызвать алерт в таком случае

skrudjmakdak 22.09.2014 20:36

либо внутри функции или необходимо вернуть функцию:
function inp(){
   function  inputupload () {
		alert('inputupload')		
}
inputupload ();
}
inp();


function inp(){
   return function  () {
		alert('inputupload')		
}
}
inp()()

imedia 22.09.2014 21:12

Дело в том что inp() я хочу запускать при загрузке документа но так чтобы inputupload() запускался только при обращении к ней, то есть чтобы Алерт выводился только когда я обращусь к inputupload() а не в момент загрузки документа я бы написал так но так не работает
function inp(){
   function  inputupload () {
        alert('inputupload')       
}
}
$(document).ready(function(){
Inp()
})
Inp().inputupload ()

imedia 22.09.2014 22:45

skrudjmakdak,
А скажите зачем двойные скобки во втором варианте

ksa 23.09.2014 09:27

Цитата:

Сообщение от imedia
скажите зачем двойные скобки во втором варианте

Для вызова функции, которую вернет функция...

kostyanet 23.09.2014 09:36

Верните объект и не парьтесь.

imedia 23.09.2014 14:23

kostyanet,
а как? приведите пример

imedia 23.09.2014 16:21

так как вернуть объект кто нибудь может подсказать?

imedia 23.09.2014 17:08

Почему я вижу только load в алерте?
inp = function (){
alert('load')
function alload(){
alert('return load')
}
}

myobj= new inp;
myobj.alload()

ksa 23.09.2014 21:03

Цитата:

Сообщение от imedia
Почему я вижу только load в алерте?

Потому как потом ошибка у тебя...

var inp = function (){
	alert('load');
	this.alload=function (){
		alert('return load');
	};
};

var myobj= new inp;
myobj.alload();


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