Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Использование функций и переменных (https://javascript.ru/forum/misc/70802-ispolzovanie-funkcijj-i-peremennykh.html)

reyneke 03.10.2017 19:09

Использование функций и переменных
 
Есть функция pickWord без аргументов. В которую я так понимаю возвращается значение из переменной word
var pickWord = function(){
	var words = [
	"значение0",
	"значение1",
	"значение2",
	"значение3",
	"значение4",
	"значение5",
	"значение6"
	];
	return word = words[Math.floor(Math.random()*words.length)];
};

1. Почему не получается использовать в качестве аргумента функцию, вот так.
var setupAnswerArray = function(pickWord()) {};


Придется присваивать функцию к новой переменной, и использовать эту переменную в качестве аргумента? только такой выход?
var newVar = pickWord();
var setupAnswerArray = function(newVar) {};


Я человек в JavaScript совсем новый, только азы изучаю. Но с функциями что-то не сдружились до конца :)
Я понимаю, что методы которые я здесь применил -дурацкие , но начал с этого, хочется доделать. Буду очень благодарен кто выручит с помощью

рони 03.10.2017 19:33

reyneke,
возможно вы хотели так ...
var setupAnswerArray = function() {
   var newVar = pickWord();
   // .....

   };

reyneke 03.10.2017 20:05

Цитата:

Сообщение от рони (Сообщение 466433)
reyneke,
возможно вы хотели так ...
var setupAnswerArray = function() {
   var newVar = pickWord();
   // .....

   };

Наверное я плохо объясняю) Мне нужно чтобы в аргумент второй функции попало то ,что возвратила первая функция)

Так я понимаю писать нельзя? Отладчик выдает сразу ошибку, даже с пустым телом функции.
var setupAnswerArray = function(pickWord()) {};

reyneke 03.10.2017 20:09

Цитата:

Сообщение от рони (Сообщение 466433)
reyneke,
возможно вы хотели так ...
var setupAnswerArray = function() {
   var newVar = pickWord();
   // .....

   };

Но с вашим вариантом тоже самое можно сделать) А вот с моим как быть)

рони 03.10.2017 20:16

reyneke,
не понимаю

Dilettante_Pro 04.10.2017 13:12

reyneke,
Нужно при описании функции
var setupAnswerArray = function(param) {

а при вызове
setupAnswerArray(pickWord());

Nexus 04.10.2017 13:45

reyneke, при объявлении функцию описываются её аргументы, т.е. те данные, которые должны будут быть переданы этой функции.

ksa 04.10.2017 14:58

Цитата:

Сообщение от reyneke
с функциями что-то не сдружились до конца

Ты путаешь объявление функции с ее вызовом...

// Объявление функций
var pickWord = function(){
	var words = [
		"значение0",
		"значение1",
		"значение2",
		"значение3",
		"значение4",
		"значение5",
		"значение6"
	];
	var word = words[Math.floor(Math.random()*words.length)];
	return word;
};
var setupAnswerArray = function(Val) {
	return 'Внезапно! '+Val
};
// А теперь вывов
var str=setupAnswerArray(pickWord());
alert(str);

reyneke 05.10.2017 13:16

Вы были правы! Благодарю) Теперь разобрался


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