String.prototype.startsWith()

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

语法

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.startsWith
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
String.prototype.startsWith
Draft

浏览器兼容性

Update compatibility data on GitHub
Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
startsWith Chrome Full support 41 Edge Full support 12 Firefox Full support 17 IE No support No Opera Full support 28 Safari Full support 9 WebView Android Full support Yes Chrome Android Full support 36 Firefox Android Full support 17 Opera Android Full support Yes Safari iOS Full support 9 Samsung Internet Android Full support 3.0 nodejs Full support 4.0.0
Full support 4.0.0
Full support 0.12
Disabled
Disabled From version 0.12: this feature is behind the --harmony runtime flag.

Legend

Full support  
Full support
No support  
No support
User must explicitly enable this feature.
User must explicitly enable this feature.

参见