傳統(tǒng)上,JavaScript 只有indexOf方法,可以用來(lái)確定一個(gè)字符串是否包含在另一個(gè)字符串中死讹。ES6 又提供了三種新方法。
includes():返回布爾值曲梗,表示是否找到了參數(shù)字符串。
startsWith():返回布爾值妓忍,表示參數(shù)字符串是否在原字符串的頭部虏两。
endsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的尾部世剖。
let s = 'Hello world!';
s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true
這三個(gè)方法都支持第二個(gè)參數(shù)定罢,表示開(kāi)始搜索的位置。
let s = 'Hello world!';
s.startsWith('world', 6) // true
s.endsWith('Hello', 5) // true
s.includes('Hello', 6) // false
上面代碼表示旁瘫,使用第二個(gè)參數(shù)n時(shí)祖凫,endsWith的行為與其他兩個(gè)方法有所不同。它針對(duì)前n個(gè)字符酬凳,而其他兩個(gè)方法針對(duì)從第n個(gè)位置直到字符串結(jié)束惠况。