背景:

var t = new Date().getMonth() + 1;
// t ===> 7,没有0,怎么展示成下面的样子?
// 2018-07-23

解决上述问题的一个思路:

// 补0函数
function(num) {
return +num < 10 ? '0' + num : num;
}

padStart(len, str)

  • 根据给定长度自动在字符串的前面补充想补充的字符串(只返回修改后的字符串,不修改原字符串)

    • len 给定的长度,转换后
    • str 想补充的字符串

栗子:

var a = '7';
a.padStart(2, '0');
// a ===> 07
var b = 'hi';
b.padStart(10, 'hello');
// b ===> hellohelhi, 重复补充
var c = 'hi';
c.padStart(10, '');
// c ===> hi
var d = 'a';
d.padStart(5, false);
// falsa
d.padStart(5, []);
// a
d.padStart(5, {});
// [obja
d.padStart(5, null);
// nulla
d.padStart(5, function(){});
// funca

实现的思路:

var a = '22'
a.padStart(len, str)

伪代码:

var res = ''
if (str.toString) {
res = str.toString();
}
else {
res = Object.prototype.toString.call(str);
}
return res;
res.repeat(len/2+1).slice(0, len - a.length) + a

padEnd()

和padStart参数一样,只是把想加的字符串加到后头。

var a = 'aaa'.padEnd(15, {});
// aaa[object Obje

兼容性

目前来看用于前端需要兼容,请看:string.polyfill.js

if (!String.prototype.padStart) {
String.prototype.padStart = function padStart(targetLength,padString) {
targetLength = targetLength>>0; //truncate if number or convert non-number to 0;
padString = String((typeof padString !== 'undefined' ? padString : ' '));
if (this.length > targetLength) {
return String(this);
}
else {
targetLength = targetLength-this.length;
if (targetLength > padString.length) {
padString += padString.repeat(targetLength/padString.length); //append to original to ensure we are longer than needed
}
return padString.slice(0,targetLength) + String(this);
}
};
}

node.js支持到版本8

最新文章

  1. .技术参数图用pillow自动处理
  2. split分割大文件--包含通过awk按规则分割文件到对应子文件
  3. 系统升级日记(3)- 升级SharePoint解决方案和Infopath
  4. RobotFrameWork WebService Soap接口测试 (一)
  5. JS实现复选框全选全不选以及子复选框带动全选框的选中
  6. sqlsever 关于索引
  7. The Tangled Web (Web之困)第四章 摘要
  8. Linux之read用法
  9. opencv 2.46与visual studio 2012 配置方法
  10. 转:.NET中使用Redis (二)
  11. Web学习之自定义标签
  12. android user如何打开一个版本号root才干
  13. (十九)TableView的点击监听和数据刷新(Alert的多种样式) -tag传值的技巧
  14. 开发工具IntelliJ IDEA的安装步骤及首次启动和创建项目
  15. 【开发工具之eclipse】8、The word is not correctly spelled。强迫症看着很难受
  16. git download error processing
  17. Oracle RAC时间同步(NTP/CTSS)
  18. angularjs探秘&lt;四&gt; 双向数据绑定
  19. php的三种CLI常量:STDIN,STDOUT,STDERR
  20. STM32 Timer : Base Timer, Input Capture, PWM, Output Compare

热门文章

  1. Windows 7 添加快速启动栏
  2. 深入理解python中的yield关键字
  3. tomcat7换端口号调试
  4. 《关于oracle数据库的勒索病毒的预警》
  5. Lua脚本语法说明(转):
  6. 64位操作系统下调用32位com的问题
  7. quartz(转)
  8. MySQL 导出远程服务器数据库 为 sql文件
  9. 打造自己的移动绿色版 Python 环境
  10. OOP——构造函数、析构函数