字符串的擴(kuò)展

1.for of (遍歷字符串)

let str='少多了幾分搭街坊,dfldjflk';

for(let code of str){

console.log(code)

}

除了遍歷字符串,這個(gè)遍歷器最大的優(yōu)點(diǎn)是可以識(shí)別大于0xFFFF的碼點(diǎn)啄巧,傳統(tǒng)的for循環(huán)無(wú)法識(shí)別這樣的碼點(diǎn)


2.at()

和charAt()類似,返回指定位置的字符,不同的是,charAt()不能識(shí)別碼點(diǎn)大于0xFFFF的字符但是at可以鉴逞。

不能直接使用扰法,需要通過(guò)墊片庫(kù)實(shí)現(xiàn)


3.includes(), startsWith(), endsWith()

傳統(tǒng)上,JavaScript只有indexOf方法决左,可以用來(lái)確定一個(gè)字符串是否包含在另一個(gè)字符串中。ES6又提供了三種新方法逗载。

indexOf:判斷一個(gè)字符串是否包含指定字符串哆窿,有就返回索引值,沒(méi)有返回-1

includes:判斷一個(gè)字符串中是否包含指定字符串厉斟,返回布爾值

startsWith:判斷一個(gè)字符串是否以制定字符串開(kāi)頭挚躯,返回布爾值。

endsWith:判斷一個(gè)字符串是否以制定字符串結(jié)尾擦秽,返回布爾值码荔。

這三個(gè)方法都支持第二個(gè)參數(shù)漩勤,表示開(kāi)始搜索的位置。

vars='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é)束究飞。

4.repeat()

repeat方法返回一個(gè)新字符串,表示將原字符串重復(fù)n次

用法:str.repeat(num)

'x'.repeat(3)// "xxx"

'hello'.repeat(2)// "hellohello"

'na'.repeat(0)// ""

參數(shù)說(shuō)明:

傳0返回空字符串

傳小數(shù)會(huì)被取整重復(fù)

傳負(fù)數(shù)或者Infinity會(huì)報(bào)錯(cuò)

傳0~-1的小數(shù)或者NaN會(huì)被當(dāng)作0堂鲤,返回空字符串

傳入字符串亿傅,會(huì)先隱式轉(zhuǎn)換成數(shù)字再做重復(fù)。


5.padStart() padEnd()

說(shuō)明:將字符串補(bǔ)全到你所想要的位數(shù)瘟栖。

參數(shù):

參數(shù)1:數(shù)字葵擎,指定你想要將字符串補(bǔ)全到多少位。

參數(shù)2:字符串半哟,你想要用什么字符串來(lái)補(bǔ)全酬滤。padStart是在前邊補(bǔ)全,padEnd是在后邊補(bǔ)全寓涨。

參數(shù)說(shuō)明:

如果參數(shù)1小于原來(lái)字符串的長(zhǎng)度盯串,不會(huì)補(bǔ)全,返回原字符串缅茉。

如果參數(shù)二的長(zhǎng)度和原來(lái)字符串長(zhǎng)度的和大于參數(shù)一嘴脾,會(huì)截取參數(shù)二。

如果省略參數(shù)二蔬墩,默認(rèn)以空格補(bǔ)全译打。

padStart的常見(jiàn)用途是為數(shù)值補(bǔ)全指定位數(shù)。下面代碼生成10位的數(shù)值字符串拇颅。

'1'.padStart(10,'0')// "0000000001"

'12'.padStart(10,'0')// "0000000012"

'123456'.padStart(10,'0')// "0000123456"

另一個(gè)用途是提示字符串格式奏司。

'12'.padStart(10,'YYYY-MM-DD')// "YYYY-MM-12"

'09-12'.padStart(10,'YYYY-MM-DD')// "YYYY-09-12"


6.模板字符串

在es5中,我們用原生js字符串拼接html模板非常麻煩樟插。

現(xiàn)在在es6里面很簡(jiǎn)單

說(shuō)明:

1.es6模板字符串定義的時(shí)候不再是用“str”了韵洋,而是用反引號(hào)`str`(就是esc鍵下方的那個(gè))。

2.es6模板字符串會(huì)識(shí)別空格黄锤、換行搪缨、等格式。

3.es6模板字符串可以識(shí)別\n ?\t \r等格式

4.es6模板字符串?dāng)U展了插值語(yǔ)法鸵熟,不用再豆豆加加了副编。插值語(yǔ)法:${你要插入的數(shù)據(jù)}。

5.想輸出反引號(hào)可以用\轉(zhuǎn)義

7.插值語(yǔ)法的{ }內(nèi)還可以放任意的javascript代碼流强,可以運(yùn)算痹届,引用對(duì)象呻待,也可以調(diào)用函數(shù),將返回值或者運(yùn)算結(jié)果輸出队腐。

8.如果插值語(yǔ)法內(nèi)放入的是字符串蚕捉,那么字符串原樣輸出

9.模板字符串還可以嵌套。


7.Sring.raw

String.raw方法柴淘,往往用來(lái)充當(dāng)模板字符串的處理函數(shù)

Sring.raw后面跟一個(gè)模板字符串做參數(shù)迫淹,這個(gè)方法將后面的模板字符串中的轉(zhuǎn)義字符(\n \t \r 等)全部原樣輸出,相當(dāng)于二次轉(zhuǎn)移(\n-->\\n)

如果原字符串的斜杠已經(jīng)轉(zhuǎn)義悠就,那么String.raw不會(huì)做任何處理千绪。

用法:

不再是Sring.raw()而是Sring.raw后面直接寫一個(gè)模板字符串


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市梗脾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盹靴,老刑警劉巖炸茧,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異稿静,居然都是意外死亡梭冠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門改备,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)控漠,“玉大人,你說(shuō)我怎么就攤上這事悬钳⊙谓荩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵默勾,是天一觀的道長(zhǎng)碉渡。 經(jīng)常有香客問(wèn)我,道長(zhǎng)母剥,這世上最難降的妖魔是什么滞诺? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮环疼,結(jié)果婚禮上习霹,老公的妹妹穿的比我還像新娘。我一直安慰自己炫隶,他們只是感情好淋叶,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著等限,像睡著了一般爸吮。 火紅的嫁衣襯著肌膚如雪芬膝。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,682評(píng)論 1 312
  • 那天形娇,我揣著相機(jī)與錄音锰霜,去河邊找鬼。 笑死桐早,一個(gè)胖子當(dāng)著我的面吹牛癣缅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播哄酝,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼友存,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了陶衅?” 一聲冷哼從身側(cè)響起屡立,我...
    開(kāi)封第一講書(shū)人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搀军,沒(méi)想到半個(gè)月后膨俐,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡罩句,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年焚刺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片门烂。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡乳愉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出屯远,到底是詐尸還是另有隱情蔓姚,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布氓润,位于F島的核電站赂乐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏咖气。R本人自食惡果不足惜挨措,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望崩溪。 院中可真熱鬧浅役,春花似錦、人聲如沸伶唯。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至瞪讼,卻和暖如春钧椰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背符欠。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工嫡霞, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人希柿。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓诊沪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親曾撤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子端姚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容