以前,
JavaScript只有
indexOf
方法,可以用来确定一个字符串是否包含在另一个字符串中,
如今:
- includes():返回布尔值,表示是否找到了参数字符串。
- startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。
- endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。
下面代码表示,使用第二个参数n时,
endsWith
的行为与其他两个方法有所不同。它针对
前n个
字符,而其他两个方法针对从
第n个
位置直到字符串结束。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<header>
<!-- 加载Traceur编译器 -->
<script src="http://google.github.io/traceur-compiler/bin/traceur.js" type="text/javascript"></script>
<!-- 将Traceur编译器用于网页 -->
<script src="http://google.github.io/traceur-compiler/src/bootstrap.js" type="text/javascript"></script>
<!-- 打开实验选项,否则有些特性可能编译不成功 -->
<!-- <script>
traceur.options.experimental = true;
</script> -->
<script type="module">
var str = "Hello world!";
// str.startsWith("Hello") // true
// str.endsWith("!") // true
// str.includes("o") // true
const name = "fengliya ni hao a!";
// alert(name.startsWith("ni"));
// alert(name.endsWith("!"));
// alert(name.includes("hao"));
alert(name.startsWith("ni",9)); //
true 从第9位开始到结束是不是“ni”(不包含)
alert(name.endsWith("y",7)); //
true 前7个字符的末尾是不是包含 “y”
alert(name.includes("fengliya",2)); //
false 从第二位开始到结束是否包含“fengliya”
</script>
</header>
</head>
<body>
</body>
</html>