Следующее предназначено для извлечения конфигурации, подключения к Date.protoype
и применения конфигурации.
Я использовал Array
для хранения временных блоков, и когда я push()
this
как Date
объект, он возвращает мне длину для итерации. Когда я закончу, я могу использовать join
для значения return
.
Кажется, это работает довольно быстро: 0,016 мс
// Date protoype
Date.prototype.formatTime = function (options) {
var i = 0,
time = [],
len = time.push(this.getHours(), this.getMinutes(), this.getSeconds());
for (; i < len; i += 1) {
var tick = time[i];
time[i] = tick < 10 ? options.pad + tick : tick;
}
return time.join(options.separator);
};
// Setup output
var cfg = {
fieldClock: "#fieldClock",
options: {
pad: "0",
separator: ":",
tick: 1000
}
};
// Define functionality
function startTime() {
var clock = $(cfg.fieldClock),
now = new Date().formatTime(cfg.options);
clock.val(now);
setTimeout(startTime, cfg.options.tick);
}
// Run once
startTime();
демо: http://jsfiddle.net/tive/U4MZ3/