Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.10.2017, 19:09
Новичок на форуме
Отправить личное сообщение для reyneke Посмотреть профиль Найти все сообщения от reyneke
 
Регистрация: 03.10.2017
Сообщений: 4

Использование функций и переменных
Есть функция 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 совсем новый, только азы изучаю. Но с функциями что-то не сдружились до конца
Я понимаю, что методы которые я здесь применил -дурацкие , но начал с этого, хочется доделать. Буду очень благодарен кто выручит с помощью
Ответить с цитированием
  #2 (permalink)  
Старый 03.10.2017, 19:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

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

   };
Ответить с цитированием
  #3 (permalink)  
Старый 03.10.2017, 20:05
Новичок на форуме
Отправить личное сообщение для reyneke Посмотреть профиль Найти все сообщения от reyneke
 
Регистрация: 03.10.2017
Сообщений: 4

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

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

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

Последний раз редактировалось reyneke, 03.10.2017 в 20:06. Причина: аа
Ответить с цитированием
  #4 (permalink)  
Старый 03.10.2017, 20:09
Новичок на форуме
Отправить личное сообщение для reyneke Посмотреть профиль Найти все сообщения от reyneke
 
Регистрация: 03.10.2017
Сообщений: 4

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

   };
Но с вашим вариантом тоже самое можно сделать) А вот с моим как быть)
Ответить с цитированием
  #5 (permalink)  
Старый 03.10.2017, 20:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

reyneke,
не понимаю
Ответить с цитированием
  #6 (permalink)  
Старый 04.10.2017, 13:12
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

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

а при вызове
setupAnswerArray(pickWord());
Ответить с цитированием
  #7 (permalink)  
Старый 04.10.2017, 13:45
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

reyneke, при объявлении функцию описываются её аргументы, т.е. те данные, которые должны будут быть переданы этой функции.
Ответить с цитированием
  #8 (permalink)  
Старый 04.10.2017, 14:58
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от 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);
Ответить с цитированием
  #9 (permalink)  
Старый 05.10.2017, 13:16
Новичок на форуме
Отправить личное сообщение для reyneke Посмотреть профиль Найти все сообщения от reyneke
 
Регистрация: 03.10.2017
Сообщений: 4

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование переменных php в имени класса Jenstel Общие вопросы Javascript 8 17.02.2016 15:13
про использование функций внутри функций javascriptus-maximus-∆ Общие вопросы Javascript 6 10.10.2014 01:47
JavaScript. Уровень 3в. Серверное программирование на Node.js maxy666 Node.JS 8 10.08.2014 00:36
Как и где задать цикл? Blondinka Events/DOM/Window 2 10.06.2014 15:29
минификация javascript и одновременное переименование переменных и функций michailV Общие вопросы Javascript 1 18.04.2014 16:17