字符串的遍歷器接口
es6為字符串添加了遍歷器接口,使得字符串可以被 for...of
循環(huán)遍歷询兴。
for(let codePoint of 'foo'){
console.log(codePoint);
}
includes(), startsWith(), endWith()
- includes():返回布爾值管引,表示是否找到參數(shù)字符串
- startsWith():返回布爾值晤斩,表示參數(shù)字符串是否在原字符串的頭部柳沙。
- endsWith():返回布爾值盛险,表示參數(shù)字符串是否在原字符串的尾部
var s="Hello world!";
s.startsWith('Hello')//true
s.endWith('!')//true
s.includes('o')//true
以上三個(gè)方法都支持第二個(gè)參數(shù)僧家,表示開(kāi)始搜索的位置雀摘。
var 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é)束肌稻。
repeat()
repeat
方法返回一個(gè)新字符串清蚀,表示將原字符串重復(fù)n
次。
'x'.repeat(3)//"xxx"
'hello'.repeat(2)// "hellohello"
'na'.repeat(0)// ""
padStart(), padEnd()
padStart()
用于頭部補(bǔ)全爹谭,padEnd()
用于尾部補(bǔ)全枷邪。
'x'.padStart(5,'ab') //'ababx'
'x'.padStart(4,'ab')//'abax'
'x'.padEnd(5,'ab') // 'xabab'
'x'.padEnd(4,'ab')//'xaba'
上面代碼中,padStart
和padEnd
一共接受兩個(gè)參數(shù)诺凡,第一個(gè)參數(shù)用來(lái)指定字符串的最小長(zhǎng)度东揣,第二個(gè)參數(shù)是用來(lái)補(bǔ)全的字符串。
模板字符串
傳統(tǒng)的模板
$('#result').append(
'There are <b>' + basket.count + '</b> ' +
'items in your basket, ' +
'<em>' + basket.onSale +
'</em> are on sale!'
);
es6模板字符串
$('#result').append(`
There are <b>${basket.count}</b> items
in your basket, <em>${basket.onSale}</em>
are on sale!
`);
如果用模板字符串腹泌,所有的縮進(jìn)都保留在輸出中嘶卧,要想消除,須使用trim方法凉袱。
//ul標(biāo)簽前面會(huì)有一個(gè)換行
$('#list').html(`
<ul>
<li>first</li>
<li>second</li>
</ul>
`);