Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.04.2016, 22:56
Новичок на форуме
Отправить личное сообщение для dry fig Посмотреть профиль Найти все сообщения от dry fig
 
Регистрация: 25.03.2016
Сообщений: 8

Как из функции, вызываемой по событию, вернуть значение?
Дано: функция, вызываемая по событию. Требуется вернуть значение функции.
Конечно, можно использовать глобальную переменную для передачи туда результата, но делать это как-то не хочется.
Если путей решения несколько - перечислите их, пожалуйста. И заранее говорю спасибо всем участникам )

<html>
	<head>
	</head>	
	<body>
		<button id='id_button'>Функция умножения</button>
	</body>
</html>

<script>	
	function mul() {
		var a = 2;
		var b = 3;
		var result = a * b;
		return result;
	}

	document.getElementById('id_button').onclick = mul;	
	// alert( ??? ) /* Как вывести результат на экран? /*
</script>

Последний раз редактировалось dry fig, 01.04.2016 в 23:01.
Ответить с цитированием
  #2 (permalink)  
Старый 01.04.2016, 23:42
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

dry fig,
alert(mul())
Ответить с цитированием
  #3 (permalink)  
Старый 02.04.2016, 00:11
Новичок на форуме
Отправить личное сообщение для dry fig Посмотреть профиль Найти все сообщения от dry fig
 
Регистрация: 25.03.2016
Сообщений: 8

А можно ли получить result из функции?
Т.е. что-то вроде:
var globVar = mul();

Последний раз редактировалось dry fig, 02.04.2016 в 00:14.
Ответить с цитированием
  #4 (permalink)  
Старый 02.04.2016, 00:49
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

dry fig,
result - это и есть то, что возвращает Ваша функция

В своём примере
var globVar = mul();


Вы сохранили значение выражения своей функции в переменной globVar
Ответить с цитированием
  #5 (permalink)  
Старый 02.04.2016, 10:23
Новичок на форуме
Отправить личное сообщение для dry fig Посмотреть профиль Найти все сообщения от dry fig
 
Регистрация: 25.03.2016
Сообщений: 8

А как быть в случае, если функция принимает аргументы? Вот так, например:
function mul(a, b) {
	return function() {
		return a * b;
	};
}
	
var a = 2;
var b = 3;
document.getElementById('id_button').onclick = mul(a, b);
// alert(mul()); // вот так не cработает
var result = ??? // Как получить значение функции?
Ответить с цитированием
  #6 (permalink)  
Старый 02.04.2016, 13:49
Аспирант
Посмотреть профиль Найти все сообщения от protoquest
 
Регистрация: 02.04.2016
Сообщений: 50

отдельный неймспейс, замыкание, проброс через коллбек.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как извлечь значение class'a? LungDesire Общие вопросы Javascript 2 19.08.2015 19:50
Как получить значение от вызываемой функции? Dimaz Общие вопросы Javascript 6 08.12.2012 19:42
как из функции вернуть не сколько результатов. Telnet Общие вопросы Javascript 1 04.07.2011 09:43
Как в IE динамически установить значение события onClick? Гость Элементы интерфейса 6 16.01.2011 23:46
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25