Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Почему эти варианты не идентичны? (https://javascript.ru/forum/dom-window/51056-pochemu-ehti-varianty-ne-identichny.html)

imedia 22.10.2014 15:55

Почему эти варианты не идентичны?
 
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?

ksa 22.10.2014 16:45

Цитата:

Сообщение от imedia
По идее же во втором варианте та же самая строка должна быть на выходе в свойстве url?

С какого это перепуга? :blink:

ksa 22.10.2014 16:47

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


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

Разницу видишь?

kostyanet 22.10.2014 16:47

Цитата:

Сообщение от imedia
в свойстве url

Теперь у вас нет свойства url, зато появился метод url(). Если вызывающая сторона об этом не знает, она обломится.

ksa 22.10.2014 16:48

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

var test=(function (){return 'string'})();
alert(test);

kostyanet 22.10.2014 16:49

Чтобы проперть работала как функция надо делать сеттер. То есть он будет знать что там функция, а что проперть и выдавать соответственно результат или функции или проперти. Снаружи будет выглядеть как проперть.

imedia 22.10.2014 17:08

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


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