阿西河

所有教程

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

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JS string startsWith()

      startsWith() 方法用来判断当前字符串是否以另外一个给定的子字符串开头,并根据判断结果返回 truefalse

      The source for this interactive example is stored in a GitHub repository. If you’d like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.

      语法

      str.startsWith(searchString[, position])
      

      参数

      searchString

      要搜索的子字符串。

      position 可选

      str 中搜索 searchString 的开始位置,默认值为 0,也就是真正的字符串开头处。

      返回值

      如果在字符串的开头找到了给定的字符则返回true;否则, 返回false.

      描述

      这个方法能够让你确定一个字符串是否以另一个字符串开头。

      这个方法区分大小写。

      示例

      使用 startsWith()

      var str = "To be, or not to be, that is the question.";
      
      alert(str.startsWith("To be"));         // true
      alert(str.startsWith("not to be"));     // false
      alert(str.startsWith("not to be", 10)); // true
      

      Polyfill

      此方法已被添加至 ECMAScript 2015 规范之中,但可能不能在所有的现行 JavaScript 实现中使用。不过,你可以用以下的代码段为 String.prototype.startsWith() 制作 Polyfill:

      if (!String.prototype.startsWith) {
          Object.defineProperty(String.prototype, 'startsWith', {
              value: function(search, pos) {
                  pos = !pos || pos < 0 ? 0 : +pos;
                  return this.substring(pos, pos + search.length) === search;
              }
          });
      }
      
      

      Mathias Bynens 在 Github 上提供了一份更为稳定有效(完全符合 ES2015 规范),但性能略差、代码紧凑性微减的 PolyFill

      规范

      规范状态备注
      ECMAScript 2015 (6th Edition, ECMA-262)String.prototype.startsWithStandardInitial definition.
      ECMAScript Latest Draft (ECMA-262)String.prototype.startsWithDraft

      参见

      目录
      目录