近期在处理一个时间展示,要求月日时分秒固定展示2位数字,毫秒固定展示3位数字,传统的作为是根据小于10、小于100等在前面添加特定个数的0,昨晚突然想到,字符串的slice方法可以指定一个负数值来取字符串的后面n个字符,这样在原始数字前面添加指定个数的0即可轻松实现。而添加指定格式的0又可以通过数组join的方法实现重复字符串,于是有了下面的代码:

/**
* 取固定字符数包含前导0的数字
*
* @param {Number} 原始数字
* @param {Number} [r=2] 字符数
* @return {String} 处理后的字符串
*/
function _f(n, r) {
r = r || 2;
var _a = [];
_a[r] = n;
return _a.join('0').slice(-r);
}



posted on 2012-02-24 17:51  费神  阅读(591)  评论(0编辑  收藏  举报