Ну нет в js нормального форматирования даты искаропки, что тут поделать, приходится либо велосипедить, либо использовать тяжелые библиотеки, либо городить такой вот ужас.
@Scorpi да была бы только i - и s, и l без var становятся глобальными переменными. isNaN автоматом приводит значение к числу, parseFloat не нужен, да и isFinite исключает NaN. И вообще зачем тут нужны проверки isNaN и isFinite? Они тупо ломают логику, исключая из суммы NaN и (+|-)Infinity. Достаточно элемент массива привести к числу (s += +this[i]), дабы результатом не была, например, строка. https://codeo.me/4h9
@alexiusp что именно не удовлетворяет? Не хотите библиотеку - посмотрите как это реализовано в них. Или вы хотите, что бы за вас компактный парсер даты написали? :)
Зачем спорить и пытаться что-то объяснить? :) "Я считаю, что это должно работать иначе, значит текущая реализация и документация по ней - баг, и наплевать на утверждавших спецификацию, один я Д'Артаньян, в пальто белом стою красивый."
@agsidorov возможно. Можно вернуть через XHR данные клиенту и через WS отправить в server.php. А лучше вообще XHR не пользоваться и все через WS передавать. Вот только как это с текстом вопроса сочитается?
В ES6 есть нативный String.prototype.repeat - kangax.github.io/es5-compat-table/es6 , так что лучше проверить его наличие перед тем, как писать в прототип.
@StrangeAttractor , был я на выступлении Акселя, на каком эта статья основана, занятно, но слишком обще. Недавно где-то, как бы на в его блоге (2ality.com) проскакивала информация про то, что к концу 2014 спецификация устаканится, а принята будет к концу следующего, что выглядит вполне реалистично. В рассылке es-discuss есть тема esdiscuss.org/topic/es6-timeline , но я бы особо на неё не полагался.