Показать сообщение отдельно
  #1 (permalink)  
Старый 07.09.2013, 19:26
Аспирант
Отправить личное сообщение для HJ90 Посмотреть профиль Найти все сообщения от HJ90
 
Регистрация: 24.07.2012
Сообщений: 37

Обновление объекта Date (сокращение кода)
Здравствуйте!

Чтобы получить актуальное время - нужно каждый раз вызывать объект Date.
Но я пишу плагин, где на каждый атрибут есть отдельные функции, с соответствующими методами (getHours, getMinutes).
И не очень то грамотно получается в каждой функции копипастить d = new Date();

Выглядит вот так:
plugin.registerattribute("minutes", "", function(){d = new Date(); minutes = d.getMinutes(); return minutes} );
plugin.registerattribute("seconds", "", function(){d = new Date(); seconds = d.getSeconds(); return seconds} );

Как вариант можно написать отдельную функцию со всеми методами и с одной строкой d = new Date();
Но тогда любой атрибут будет гонять все методы в холостую. Вот так:

plugin.registerattribute("minutes",  "", function(){time(); return minutes} );
plugin.registerattribute("seconds",  "", function(){time(); return seconds} );

function time()
	{
		d = new Date(); 
		  hours    = d.getHours(); 
		  minutes  = d.getMinutes();
		  seconds  = d.getSeconds();
	}

Подскажите пожалуйста есть ли грамотный способ обойтись без копипаста и чтобы все оптимизировано было?
Как-то странно Date устроен.

Спасибо!
Ответить с цитированием