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

資訊專欄INFORMATION COLUMN

es6 字符串的擴(kuò)展

Euphoria / 2148人閱讀

摘要:字符串添加了很多新功能,當(dāng)然也有很多關(guān)于字符串編碼的一些學(xué)習(xí)性東西,在這里咱們就不多做介紹,介紹一下常用的一些方法字符串的遍歷接口中字符串?dāng)U展了遍歷器接口其實(shí)看起來和其他的遍歷長的挺像的,那我們來看看它是否除了能遍歷字符串之外,還能否遍歷其

es6字符串添加了很多新功能,當(dāng)然也有很多關(guān)于字符串編碼的一些學(xué)習(xí)性東西,在這里咱們就不多做介紹,
介紹一下常用的一些方法
字符串的遍歷接口
es6中字符串?dāng)U展了遍歷器接口

for(let i of "abcdef"){
    console.log(i) // a,b,c,d,e,f
}

其實(shí)看起來和其他的遍歷長的挺像的,那我們來看看它是否除了能遍歷字符串之外,還能否遍歷其它類型呢

那我們來試一下數(shù)組類型,會(huì)像我們預(yù)想的那樣會(huì)得到遍歷的值

for(let i of [1,2,3]){
    console.log(i) // 1,2,3
}

看一下對象的類型的遍歷
for(let i of {a:1,b:2}){
    console.log(i) // 報(bào)錯(cuò)
}

上面遍歷對象是會(huì)報(bào)錯(cuò)的,因?yàn)閒or of 是不能直接枚舉普通對象的,除非這個(gè)對象有Iterator接口才能使用,Iterator接口在這里就不多說了,以后的文章會(huì)對它進(jìn)行講解的

for of 循環(huán)遍歷器還可以配合break(直接跳出) continue(跳出繼續(xù)執(zhí)行) return (在函數(shù)內(nèi)使用)配合使用跳出循環(huán)
for (let a of "123456") {
    if (a ==="1") {
        break
    }
    console.log(a) // 1
}

有時(shí)間的話大家不妨可以試一下

字符串includes(),startsWith(),endsWith()方法
es5中提供了indexOf方法來確定查找的字符串是否在其中,現(xiàn)在又多了三個(gè),是不是很開心!??!

includes方法返回布爾值,是否在字符串其中

   let str = "this is es6"
   str.includes("es6")// true
   這個(gè)方法還支持第二個(gè)參數(shù),那就是選擇位置搜索,從0開始算,空格也會(huì)算位置,是從當(dāng)前位置往后搜索,也算當(dāng)前的位置
   let str = "this is es6"
   str.includes("i", 5) // true
   搜索多個(gè)也是可以的,當(dāng)然如果位置超過es6的真實(shí)位置會(huì)查找不到
   str.includes("es6", 5) // true

startsWith方法返回布爾值,是否在字符串的頭部

   let str = "is heard"
   str.startsWith("is") // true
   
   str.startsWith("i") // true
   
   str.startsWith("is heard") // true
   
   str.startsWith("h") // false
   
   上邊的第三個(gè)為什么也算頭部,在我看來因?yàn)榘裪s heaed 看做了整體所以都算頭部,而最后一個(gè)false是因?yàn)樵趇s heard查找h所以h不算是頭部
   
   這個(gè)方法也是有第二個(gè)參數(shù)的
   str.startsWith("i", 0) // true
   str.startsWith("is", 0) // true
   str.startsWith("is", 1) // false

endsWith方法返回布爾值,是否在字符串的尾部

   let str = "is last"
   str.endsWith("t") //true
   str.endsWith("st") //true,
   str.endsWith("s") //false

其實(shí)這個(gè)和上邊的方法startsWith差不多少只不過這個(gè)是查找的尾部,那個(gè)是查找的頭部

repeat 重復(fù)返回一個(gè)新的字符串,重復(fù)多少次取決于你的參數(shù)
參數(shù)是 0 到-1 之間的小數(shù),則等同于 0,-0也算0
abc.repeat(3)// abcabcabc

因?yàn)椴荒苄∮?1,才會(huì)報(bào)錯(cuò)
"abc154789".repeat(-1) //報(bào)錯(cuò)

大于-1的話會(huì)被取整為0,所以會(huì)是空的字符串
"abc154789".repeat(-0.9999999999) //“”

NaN也會(huì)被當(dāng)做為0處理
"NaN".repeat(NaN) // ""

參數(shù)也可以為字符串,但是也是空因?yàn)橄旅娴淖址畷?huì)被轉(zhuǎn)為NaN
"hhh".repeat("cc") // ""
padStart(),padEnd()Es7的字符串自動(dòng)補(bǔ)全功能
padStart 我們來先說一下頭部補(bǔ)全

"aa".padStart(5, "xc") // xcxaa
"??!".padStart(4, "你好") // "你好?。?
"好看".padStart(4, "你長得真") // "你長好看"
"好看".padStart(4) // "   看"
上面的例子是第一個(gè)參數(shù)是5,表示要5個(gè)字符,第二個(gè)參數(shù)是補(bǔ)全的參數(shù),從頭部補(bǔ)全xcx,’aa‘是不會(huì)變的,當(dāng)然倒數(shù)第二個(gè)第一個(gè)參數(shù)也算限制了文字,所以會(huì)從左到右選取剩余的長度,最后一個(gè)的話沒有第二個(gè)參數(shù)會(huì)按四個(gè)空格

我們來看看從后面補(bǔ)全,其實(shí)機(jī)制和從頭部補(bǔ)全差不多,看一下例子
"aa".padEnd(5, "xc") // aaxcx
"??!".padEnd(4, "你好") // "??!你好"
模板字符串
我們先來看一下什么是字符串模板,注意不要用單雙引號(hào),要用··,對就是那個(gè)

普通的字符串模板
·this is 啊啊啊啊·

多行文本的字符串模板
·哈哈哈,你好啊
我是哈哈·

變量的模板字符串
let a = "你好"
${a}啊 // 你好啊

let str = "this is"
${str}模板 // this is 模板

還可以使用函數(shù),但是得把你需要的return出來
function add () {

   return 123

}
${add()}456 // 123456

模板編譯
let a = `

     <% for(let i=0; i < 3; i++) { %>
       
  • <%= i %>
  • <% } %>

`

上面會(huì)被輸出為

       
  • 0
  • 1
  • 2

我們再來看看下面這個(gè),你們猜函數(shù)會(huì)執(zhí)行嗎
let html = `

   
5

4

3

2


`
function add() {

   alert(123)

}

String.raw字符串的模板
 let s1 = "qwe", s2 = "123"
 String.raw`${ s1 + s2 }` // qwe123
 
 下面這種是左邊的參數(shù)會(huì)被分為["h","e","l","l","o"],然后就是左邊一個(gè)參數(shù)逗號(hào)右邊一個(gè)開始補(bǔ)
 String.raw({raw: "hello"}, 123)// h123ello
 
 第二個(gè)參數(shù)為對象的話是不會(huì)被分解的哦
 String.raw({ raw: "hello" }, {aa: "ooo"});"h[object Object]ello"

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/100974.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)友 評論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 評論0 收藏0
  • ES6標(biāo)準(zhǔn)入門》讀書筆記

    摘要:標(biāo)準(zhǔn)入門讀書筆記和命令新增命令,用于聲明變量,是塊級作用域。用于頭部補(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 評論0 收藏0
  • ES6入門之對象擴(kuò)展

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

    AWang 評論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 評論0 收藏0

發(fā)表評論

0條評論

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