成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

es6 字符串的擴(kuò)展

Euphoria / 2193人閱讀

摘要:字符串添加了很多新功能,當(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ù)組類型,會像我們預(yù)想的那樣會得到遍歷的值

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

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

上面遍歷對象是會報錯的,因為for of 是不能直接枚舉普通對象的,除非這個對象有Iterator接口才能使用,Iterator接口在這里就不多說了,以后的文章會對它進(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
}

有時間的話大家不妨可以試一下

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

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

   let str = "this is es6"
   str.includes("es6")// true
   這個方法還支持第二個參數(shù),那就是選擇位置搜索,從0開始算,空格也會算位置,是從當(dāng)前位置往后搜索,也算當(dāng)前的位置
   let str = "this is es6"
   str.includes("i", 5) // true
   搜索多個也是可以的,當(dāng)然如果位置超過es6的真實(shí)位置會查找不到
   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
   
   上邊的第三個為什么也算頭部,在我看來因為把is heaed 看做了整體所以都算頭部,而最后一個false是因為在is heard查找h所以h不算是頭部
   
   這個方法也是有第二個參數(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í)這個和上邊的方法startsWith差不多少只不過這個是查找的尾部,那個是查找的頭部

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

因為不能小于-1,才會報錯
"abc154789".repeat(-1) //報錯

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

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

參數(shù)也可以為字符串,但是也是空因為下面的字符串會被轉(zhuǎn)為NaN
"hhh".repeat("cc") // ""
padStart(),padEnd()Es7的字符串自動補(bǔ)全功能
padStart 我們來先說一下頭部補(bǔ)全

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

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

普通的字符串模板
·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 %>
  • <% } %>

`

上面會被輸出為

       
  • 0
  • 1
  • 2

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

   
5

4

3

2


`
function add() {

   alert(123)

}

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

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

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/100974.html

相關(guān)文章

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

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

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

    摘要:循環(huán)遍歷對象自身的和繼承的可枚舉屬性不含屬性。返回一個數(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)用的時候會在內(nèi)存形成一個調(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)遍歷對象自身的和繼承的可枚舉屬性不含屬性。返回一個數(shù)組,包含對象自身的所有屬性的鍵名。 showImg(https://segmentfault.com/img/remote/1460000019259004?w=1282&h=1920); 1. 屬性的簡潔表示法 在ES6中 允許直接寫入變量...

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

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

    jifei 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<