Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.10.2014, 15:55
Профессор
Отправить личное сообщение для imedia Посмотреть профиль Найти все сообщения от imedia
 
Регистрация: 20.05.2014
Сообщений: 292

Почему эти варианты не идентичны?
fileInput.damnUploader({
		
        // куда отправлять
        url:  '/functions_server_logic/add_photos/21',
......
    });


и

fileInput.damnUploader({
		
        // куда отправлять
        url: function(){
	var page_index = '/functions_server_logic/add_photos/21';
	return page_index;
	},
      ......
    });


По идее же во втором варианте та же самая строка должна быть на выходе в свойстве url?
Ответить с цитированием
  #2 (permalink)  
Старый 22.10.2014, 16:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от imedia
По идее же во втором варианте та же самая строка должна быть на выходе в свойстве url?
С какого это перепуга?
Ответить с цитированием
  #3 (permalink)  
Старый 22.10.2014, 16:47
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Твой первый вариант
var test='string';
alert(test);


Твой второй вариант...
var test=function (){return 'string'};
alert(test);

Разницу видишь?
Ответить с цитированием
  #4 (permalink)  
Старый 22.10.2014, 16:47
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от imedia
в свойстве url
Теперь у вас нет свойства url, зато появился метод url(). Если вызывающая сторона об этом не знает, она обломится.
Ответить с цитированием
  #5 (permalink)  
Старый 22.10.2014, 16:48
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

И наконец аналог твоего первого варианта, но "с функцией"

var test=(function (){return 'string'})();
alert(test);
Ответить с цитированием
  #6 (permalink)  
Старый 22.10.2014, 16:49
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Чтобы проперть работала как функция надо делать сеттер. То есть он будет знать что там функция, а что проперть и выдавать соответственно результат или функции или проперти. Снаружи будет выглядеть как проперть.
Ответить с цитированием
  #7 (permalink)  
Старый 22.10.2014, 17:08
Профессор
Отправить личное сообщение для imedia Посмотреть профиль Найти все сообщения от imedia
 
Регистрация: 20.05.2014
Сообщений: 292

ksa,
Спасибо теперь понял
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему некоторые операторы возвращают значения, а не ссылки? dump Общие вопросы Javascript 15 25.07.2012 17:28
Ассоциативный и обычный массив. Почему не получается получить свойство? jsuse Общие вопросы Javascript 10 04.12.2011 22:14
Свойства объекта, методы и this. Почему свойство вызывается с () ? jsuse Общие вопросы Javascript 2 04.11.2011 20:39
Prototype. Одноблочное определение псевдокласса. Литеральная форма не робит. Почему? GuardCat Общие вопросы Javascript 6 03.10.2011 13:46
Почему не определяется втарая переменная? Арман Общие вопросы Javascript 3 09.04.2011 11:14