ES6提供了一个新的方法padStart(),它具有字符串补全长度的功能。第一个参数用于指定字符串的最小长度,第二个参数是用于补全的字符串。例如:1.字符串的长度小于最小长度'x'.padStart(5,'ab')//'ababx'将字符串x填充为5位的ab长度,当然这个5包括字符串本身的长度。2.如果字符串的长度大于最小长度,则返回字符串,如"bacdef".padSatrt(3,"xxx")//"bacdef"3.如果用于补全的字符串与原始字符串,两者的长度之和超过指定的最小长度,超过位数的补全字符串将被截断。'abc'.padStart(10,'xxxxxxxx')//xxxxxxxabc看到这里,有没有想过,在将时间转换为年月日时分秒的时候,我们会用if或者三元来判断月份,日,时,分,秒大于等于10小于10时,会在小于10的前面拼接“0”。这种方法可以让我们省去很多判断。代码如下:functionformatData(){letnow=newDate();让年份=now.getFullYear();让月=(now.getMonth()+1).toString().padStart(2,"0");让日期=(now.getDate()).toString().padStart(2,"0");让hh=(now.getHours()).toString().padStart(2,"0");让mm=(now.getMinutes()).toString().padStart(2,"0");让ss=(now.getSeconds()).toString().padStart(2,"0");return`${year}-${month}-${date}${hh}:${mm}:${ss}`;}以后不用写很多判断,减少了代码量。当然padEnd()对应padStart(),用法也是一样的。对于padEnd(),我们通常使用最常见的场景来显示身份证或手机号的后四位,其他数字用“*”代替。这是对用户的一种保护。函数telFormat(){lettel="13255557894";returntel.slice(-4).padStart(tel.length,"*");}//telFormat()结果:*********7894
