Грамотный jsСмотрю иногда чужие скрипты и удивляюсь. Иногда столько кода городят, что бы реализовать какой либо эффект, требующий использования js. На самом деле профессионализм написания js кода заключается в том числе в краткости его написания. Это не значит, конечно, что переменным нужно назначать всегда однобуквенные имена. Однако не будем забывать, что js код броузер тоже подгружает. И чем он меньше, тем лучше. Почему то не часто я встречаю в скриптах регулярные выражения, которые сильно облегчают работу, особенно в проверке данных на корректность. И в больших скриптах не используют ООП. А про универнальность использования кода в том или ином проекте я вообще молчу. Удивила тема "Интеллектуальная битва". Мы это уже 2 года назад прошли... Ну, вобщем опыт приходит со временем.
А пока всем презент от меня. Первая функция округляет число (финансовое округление!) до указанной точности. Ее можно использовать для подавления известного глюка javascript с точностью выполнения математических операций. А вторая, используя первую приводит число в денежный формат.
//rounds number to d decimal places, defaults to 2 round=function(number,decimal) { var d=(decimal?decimal:2); return Math.round(number*Math.pow(10,d))/Math.pow(10,d); }
//return the amount in the money format .99 (/^\d+\.\d{2}$/) //used round() function toMoney=function(amount) { var a=round(amount); return(a==Math.floor(a))?a+'.00':((a*10==Math.floor(a*10))?a+'0':a); }
Удачи! |