阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JS string padStart()

      padStart() 方法用另一个字符串填充当前字符串(重复,如果需要的话),以便产生的字符串达到给定的长度。填充从当前字符串的开始(左侧)应用的。

      语法

      str.padStart(targetLength [, padString])
      

      参数

      targetLength

      当前字符串需要填充到的目标长度。如果这个数值小于当前字符串的长度,则返回当前字符串本身。

      padString 可选

      填充字符串。如果字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截断。此参数的缺省值为 " “(U+0020)。

      返回值

      在原字符串开头填充指定的填充字符串直到目标长度所形成的新字符串。

      示例

      'abc'.padStart(10);         // "       abc"
      'abc'.padStart(10, "foo");  // "foofoofabc"
      'abc'.padStart(6,"123465"); // "123abc"
      'abc'.padStart(8, "0");     // "00000abc"
      'abc'.padStart(1);          // "abc"
      

      Polyfill

      如果原生环境不支持该方法,在其他代码之前先运行下面的代码,将创建 String.prototype.padStart() 方法。

      // https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
      // /api/js-es/ob-string/pad-start.html
      if (!String.prototype.padStart) {
          String.prototype.padStart = function padStart(targetLength,padString) {
              targetLength = targetLength>>0; //floor 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);
              }
          };
      }
      
      

      规范

      规范状态备注
      ECMAScript Latest Draft (ECMA-262)String.prototype.padStartDraft在 ECMAScript 2017 中首次被定义。
      [ECMAScript 2017 (ECMA-262)
      String.prototype.padStart](https://www.ecma-international.org/ecma-262/8.0/#sec-string.prototype.padstart)Standard 

      另请参阅

      目录
      目录