日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

字符串的扩展

發(fā)布時間:2025/3/20 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符串的扩展 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

字符串的擴(kuò)展

1.字符的 Unicode 表示法

rest參數(shù)與數(shù)組

function log(...value) {console.log(value);console.log(...value); }log([1,2,3]); // [ [ 1, 2, 3 ] ] // [ 1, 2, 3 ] log(1,2,3); // [ 1, 2, 3 ] // 1 2 3

2.字符串的遍歷

使用for...of循環(huán)遍歷

for(let item of 'foo'){ console.log(item); //'f' 'o' 'o' }

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

傳統(tǒng)的字符串只有indexOf方法,可以用來確定一個字符串是否包含在另一個字符串中。ES6又提供了三種新方法。

- includes():返回布爾值,表示是否找到了參數(shù)字符串。- StartsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。- endsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的尾部。 let s = 'Hello world!' s.startsWith("Hello") //true s.endsWith('!') //true s.includes('o') //true

這三種方法都支持第二個參數(shù),表示開始搜索的位置。

let s = 'Hello world!'; s.startsWith('world',6)//true s.endsWith('Hello',5)//true 前5個字符串 s.includes('Hello',6)//false //上面代碼表示,使用第二個參數(shù)n時,**endsWith的行為與其他兩個方法有所不同。它針對前n個字符,**而其他兩個方法針對從第n個位置直到字符串結(jié)束。

4.repeat()

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

'x'.repeat(3)//'xxx' 'hello'.repeat(2)//'hellohello' 'na'.rapeat(0) //''

如果參數(shù)是小數(shù),則會取整。

'na'.repeat(2.9) //'nana'

如果參數(shù)是負(fù)數(shù)或者是Infinity,會報錯

'na'.repeat(Infinity) //RangError 'na'.repeat(-1)//RangError

如果參數(shù)在0到-1之間則視為為0

'na'.repeat(-0.9) //'' //參數(shù)NaN等同于0 'na'.repeat(NaN)//'' //如果參數(shù)是字符串則會先轉(zhuǎn)換成數(shù)字 'na'.repeat('na') //'' 'na'.rapeat('3')//'nanana'

5.padStart(),padEnd()

字符串補(bǔ)全的功能
padStart()用于頭部補(bǔ)全,padEnd()用于尾部補(bǔ)全。

'x'.padStart(5,'ab');//'ababx' 'x'.padStart(4,'ab');//"abax"'x'.padEnd(5,'ab');//'xabab' 'x'.padEnd(4,'ab');//'xaba'

如果原字符串的長度,等于或大于最大長度,則字符串補(bǔ)全不生效,返回原字符串。

'xxx'.padStart(2,'ab') //'xxx' 返回原字符串 'xxx'.padEnd(2,'ab') //'xxx' 返回原字符串

如果補(bǔ)全的字符串和原字符串,兩者的長度超出了最大長度,則截取超出位數(shù)的補(bǔ)全字符串

'abc'.padStart(10,'0123456789') //"0123456abc"如果省略第二個參數(shù),默認(rèn)使用空格補(bǔ)全長度。 'x'.padStart(4) //' x' 'x'.padEnd(4) //'x '

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

'1'.padStart(10, '0') // "0000000001" '12'.padStart(10, '0') // "0000000012" '123456'.padStart(10, '0') // "0000123456"

另一個用途是提示字符串格式。

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

6.字符串嵌入變量

// 字符串中嵌入變量 let name = "Bob", time = "today"; `Hello ${name}, how are you ${time}?`

大括號內(nèi)部可以放入任意的 JavaScript 表達(dá)式,可以進(jìn)行運算,以及引用對象屬性。

let x = 1; let y = 2;`${x} + ${y} = ${x + y}` // "1 + 2 = 3"`${x} + ${y * 2} = ${x + y * 2}` // "1 + 4 = 5"let obj = {x: 1, y: 2}; `${obj.x + obj.y}` // "3"

模板字符串之中還能調(diào)用函數(shù)。

function fn() {return "Hello World"; }`foo ${fn()} bar` // foo Hello World bar 如果模板字符串中的變量沒有聲明,將報錯。 // 變量place沒有聲明 let msg = `Hello, ${place}`; // 報錯//由于模板字符串的大括號內(nèi)部,就是執(zhí)行 JavaScript 代碼,因此如果大括號內(nèi)部是一個字符串,將會原樣輸出 `Hello ${'World'}` // "Hello World"模板字符串甚至還能嵌套。 const tmpl = addrs => `<table>${addrs.map(addr => `<tr><td>${addr.first}</td></tr><tr><td>${addr.last}</td></tr>`).join('')}</table> `;

總結(jié)

以上是生活随笔為你收集整理的字符串的扩展的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。