成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

ES6字符串的擴(kuò)展

zqhxuyuan / 1729人閱讀

摘要:注本文只是我在看了阮一峰老師的入門中的字符串的擴(kuò)展后記錄下來的一些認(rèn)為自己需要掌握的知識(shí)點(diǎn)。返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。,引入了字符串補(bǔ)全長度的功能。

注:本文只是我在看了阮一峰老師的ECMAScript 6 入門中的字符串的擴(kuò)展后記錄下來的一些認(rèn)為自己需要掌握的知識(shí)點(diǎn)。對大家沒有什么參考價(jià)值。原文鏈接:ECMAScript 6 入門 —— 阮一峰

字符串的遍歷器接口

ES6 為字符串添加了遍歷器接口,使得字符串可以被for...of循環(huán)遍歷。

for (let codePoint of "foo") {
  console.log(codePoint)
}
// "f"
// "o"
// "o"
includes(), startsWith(), endsWith()

傳統(tǒng)上,JavaScript 只有indexOf方法,可以用來確定一個(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ù),表示開始搜索的位置。

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è)方法有所不同。它針對前n個(gè)字符,而其他兩個(gè)方法針對從第n個(gè)位置直到字符串結(jié)束。

repeat()

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

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

參數(shù)如果是小數(shù),會(huì)被取整。

"na".repeat(2.9) // "nana"
如果repeat的參數(shù)是負(fù)數(shù)或者Infinity,會(huì)報(bào)錯(cuò)。

"na".repeat(Infinity)
// RangeError
"na".repeat(-1)
// RangeError

但是,如果參數(shù)是 0 到-1 之間的小數(shù),則等同于 0,這是因?yàn)闀?huì)先進(jìn)行取整運(yùn)算。0 到-1 之間的小數(shù),取整以后等于-0,repeat視同為 0。

"na".repeat(-0.9) // ""

參數(shù)NaN等同于 0。

"na".repeat(NaN) // ""

如果repeat的參數(shù)是字符串,則會(huì)先轉(zhuǎn)換成數(shù)字。

"na".repeat("na") // ""
"na".repeat("3") // "nanana"
padStart(),padEnd()

ES2017 引入了字符串補(bǔ)全長度的功能。如果某個(gè)字符串不夠指定長度,會(huì)在頭部或尾部補(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"

上面代碼中,padStart和padEnd一共接受兩個(gè)參數(shù),第一個(gè)參數(shù)用來指定字符串的最小長度,第二個(gè)參數(shù)是用來補(bǔ)全的字符串。

如果原字符串的長度,等于或大于指定的最小長度,則返回原字符串

"xxx".padStart(2, "ab") // "xxx"
"xxx".padEnd(2, "ab") // "xxx"

如果用來補(bǔ)全的字符串與原字符串,兩者的長度之和超過了指定的最小長度,則會(huì)截去超出位數(shù)的補(bǔ)全字符串。

"abc".padStart(10, "0123456789")
// "0123456abc"

如果省略第二個(gè)參數(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"

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

"12".padStart(10, "YYYY-MM-DD") // "YYYY-MM-12"
"09-12".padStart(10, "YYYY-MM-DD") // "YYYY-09-12"
模板字符串

模板字符串(template string)是增強(qiáng)版的字符串,用反引號(hào)(`)標(biāo)識(shí)。它可以當(dāng)作普通字符串使用,也可以用來定義多行字符串,或者在字符串中嵌入變量。

// 普通字符串
`In JavaScript "
" is a line-feed.`

// 多行字符串
`In JavaScript this is
 not legal.`

console.log(`string text line 1
string text line 2`);

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

上面代碼中的模板字符串,都是用反引號(hào)表示。如果在模板字符串中需要使用反引號(hào),則前面要用反斜杠轉(zhuǎn)義。

let greeting = ``Yo` World!`;

如果使用模板字符串表示多行字符串,所有的空格和縮進(jìn)都會(huì)被保留在輸出之中。

$("#list").html(`
  • first
  • second
`);

上面代碼中,所有模板字符串的空格和換行,都是被保留的,比如

    標(biāo)簽前面會(huì)有一個(gè)換行。如果你不想要這個(gè)換行,可以使用trim方法消除它。

    $("#list").html(`
    
    • first
    • second
    `.trim());

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/97540.html

相關(guān)文章

  • es6學(xué)習(xí)筆記--符串擴(kuò)展、數(shù)組擴(kuò)展、對象擴(kuò)展

    摘要:字符串的擴(kuò)展字符串的遍歷器接口字符串可以被循環(huán)遍歷。即能識(shí)別編號(hào)大于查詢字符串是否包含某個(gè)字符返回布爾值,表示是否找到了參數(shù)字符串。返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。 字符串的擴(kuò)展 1.字符串的遍歷器接口 字符串可以被for...of循環(huán)遍歷。 與es5的比較for循環(huán)雖可以遍歷字符串,但不能識(shí)別大于oxFFFF的編碼; 2.位置 --> 字符/碼點(diǎn) 根據(jù)指定位置返回對應(yīng)...

    不知名網(wǎng)友 評(píng)論0 收藏0
  • ES6入門之對象擴(kuò)展

    摘要:循環(huán)遍歷對象自身的和繼承的可枚舉屬性不含屬性。返回一個(gè)數(shù)組,包含對象自身的所有屬性的鍵名。目前,只有對象方法的簡寫法可以讓引擎確認(rèn),定義的是對象的方法。showImg(https://user-gold-cdn.xitu.io/2019/5/21/16ada8456223b0e1); 1. 屬性的簡潔表示法 在ES6中 允許直接寫入變量和函數(shù),作為對象的屬性和方法,使得代碼的書寫更為簡潔。...

    RiverLi 評(píng)論0 收藏0
  • ES6標(biāo)準(zhǔn)入門》讀書筆記

    摘要:標(biāo)準(zhǔn)入門讀書筆記和命令新增命令,用于聲明變量,是塊級(jí)作用域。用于頭部補(bǔ)全,用于尾部補(bǔ)全。函數(shù)調(diào)用的時(shí)候會(huì)在內(nèi)存形成一個(gè)調(diào)用記錄,又稱為調(diào)用幀,保存調(diào)用位置和內(nèi)部變量等信息。等到執(zhí)行結(jié)束再返回給,的調(diào)用幀才消失。 《ES6標(biāo)準(zhǔn)入門》讀書筆記 @(StuRep) showImg(https://segmentfault.com/img/remote/1460000006766369?w=3...

    HollisChuang 評(píng)論0 收藏0
  • ES6入門之對象擴(kuò)展

    摘要:屬性的簡潔表示法在中允許直接寫入變量和函數(shù),作為對象的屬性和方法,使得代碼的書寫更為簡潔。循環(huán)遍歷對象自身的和繼承的可枚舉屬性不含屬性。返回一個(gè)數(shù)組,包含對象自身的所有屬性的鍵名。 showImg(https://segmentfault.com/img/remote/1460000019259004?w=1282&h=1920); 1. 屬性的簡潔表示法 在ES6中 允許直接寫入變量...

    AWang 評(píng)論0 收藏0
  • ES6入門之正則擴(kuò)展

    摘要:正則的擴(kuò)展參數(shù)為字符串,那么第二個(gè)參數(shù)表示正則表達(dá)式的修飾符,如下等價(jià)于參數(shù)為一個(gè)正則表達(dá)式,這時(shí)返回一個(gè)原有正則表達(dá)式的拷貝。如下調(diào)用調(diào)用調(diào)用調(diào)用修飾符對正則表達(dá)式添加了修飾符,用來正確處理大于的字符。 showImg(https://segmentfault.com/img/bVbrJqm?w=800&h=1200); 1. 正則的擴(kuò)展 參數(shù)為字符串, 那么第二個(gè)參數(shù)表示正則表達(dá)式...

    jifei 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<