Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.04.2014, 17:50
Аспирант
Отправить личное сообщение для 1lider Посмотреть профиль Найти все сообщения от 1lider
 
Регистрация: 12.04.2013
Сообщений: 86

Функция из имени переменной
Добрый вечер.

Почему не работает следующий вариант:

var rand = Math.floor(Math.random( ) * (9999999+1));
	var func = window[rand](){
		alert("hello world!");
	};

Выходит следующая ошибка - Предполагается наличие ';', во второй строке кода.
Я хотел сгенерировать случайное число. Затем сделать переменную именем функции и сразу же запустить на выполнение. Каков будет правильный вариант? Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 18.04.2014, 17:57
Аватар для nice_try
Профессор
Отправить личное сообщение для nice_try Посмотреть профиль Найти все сообщения от nice_try
 
Регистрация: 11.12.2013
Сообщений: 313

так не катит?


+(function() {     alert(Math.floor(Math.random( ) * (9999999+1))); })()
Ответить с цитированием
  #3 (permalink)  
Старый 18.04.2014, 18:04
Аспирант
Отправить личное сообщение для 1lider Посмотреть профиль Найти все сообщения от 1lider
 
Регистрация: 12.04.2013
Сообщений: 86

Цитата:
Вы просите готовый скрипт с нуля. Это работа, и за нее обычно платят деньги. Для таких сообщений предназначен раздел форума "Работа". Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела.
nice_try. Будь я администратором этого форума, я бы не говорил такие вещи своим пользователям. Ибо чем больше пользователей посещает форум(сайт), тем больше стоит реклама на сайте, и сам сайт. Это выгодно прежде всего администратору. В случае, если форум(сайт), не зарабатывает деньги на рекламе или любым другим способом, значит возможно он создан в учебно-познавательных(мануал) целях.

Я выложил кусок своего кода JS, чтобы добрые люди ткнули пальцем на ошибку. Если этого не происходит, тогда зачем вообще нужен ваш форум. Удалите его и всех дел. А мы(пользователи), найдём другой форум, где нам не будут говорить подобные вещи.

Последний раз редактировалось 1lider, 18.04.2014 в 18:12.
Ответить с цитированием
  #4 (permalink)  
Старый 18.04.2014, 18:06
Аспирант
Отправить личное сообщение для 1lider Посмотреть профиль Найти все сообщения от 1lider
 
Регистрация: 12.04.2013
Сообщений: 86

Нет. Ваш вариант не подоходит. Условие было другое. Сгенерировать переменную. Далее, превратить имя переменной в функцию и вызвать её.
Ответить с цитированием
  #5 (permalink)  
Старый 18.04.2014, 21:49
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
nice_try. Будь я администратором этого форума, я бы не говорил такие вещи своим пользователям. Ибо чем больше пользователей посещает форум(сайт), тем больше стоит реклама на сайте, и сам сайт. Это выгодно прежде всего администратору. В случае, если форум(сайт), не зарабатывает деньги на рекламе или любым другим способом, значит возможно он создан в учебно-познавательных(мануал) целях.

Я выложил кусок своего кода JS, чтобы добрые люди ткнули пальцем на ошибку. Если этого не происходит, тогда зачем вообще нужен ваш форум. Удалите его и всех дел. А мы(пользователи), найдём другой форум, где нам не будут говорить подобные вещи.
1. nice_try не администратор.
2. Это его подпись

Касательно задачи - превратить имя переменной в функцию? Что??? Формулируй задачу корректно, это уже шаг к ее решению. Тебе надо создать функцию с динамическим именем? Ну так и создавай.
window[rand] = function() {alert("Hello, world!")}; //Создание
window[rand](); //Вызов

Но зачем тебе вдруг такое вообще понадобилось? Одноразовая функция? Используй такую конструкцию:
(function(){alert("Hello, world!")})() //Создание анонимной функции и сразу же ее вызов

Последний раз редактировалось Erolast, 18.04.2014 в 21:52.
Ответить с цитированием
  #6 (permalink)  
Старый 18.04.2014, 22:15
Аспирант
Отправить личное сообщение для 1lider Посмотреть профиль Найти все сообщения от 1lider
 
Регистрация: 12.04.2013
Сообщений: 86

Erolast. Вариант работает. БлагоДарю.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задание в SELECT имени таблицы переменной kostagal Серверные языки и технологии 5 13.01.2014 16:12
Как обратиться к свойству объекта по имени если оно хранится в переменной xaknik Общие вопросы Javascript 2 25.04.2012 23:12
функция взятия у файла его имени и расширения 77Bender77 Общие вопросы Javascript 9 16.12.2011 18:47
Задание имени переменной из другой vvsh Общие вопросы Javascript 23 24.04.2010 23:30
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25