91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

es6字符串中新增知識有哪些

發布時間:2020-12-05 11:13:59 來源:億速云 閱讀:174 作者:小新 欄目:web開發

這篇文章主要介紹es6字符串中新增知識有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

es6字符串添加了很多新功能,當然也有很多關于字符串編碼的一些學習性東西,在這里咱們就不多做介紹,介紹一下常用的一些方法

字符串的遍歷接口

es6中字符串擴展了遍歷器接口

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

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

那我們來試一下數組類型,會像我們預想的那樣會得到遍歷的值

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接口在這里就不多說了,以后的文章會對它進行講解的

for of 循環遍歷器還可以配合break(直接跳出) continue(跳出繼續執行) return (在函數內使用)配合使用跳出循環
for (let a of '123456') {
    if (a ==='1') {
        break
    }
    console.log(a) // 1
}

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

字符串includes(),startsWith(),endsWith()方法

es5中提供了indexOf方法來確定查找的字符串是否在其中,現在又多了三個,是不是很開心!!!

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

   let str = 'this is es6'
   str.includes('es6')// true
   這個方法還支持第二個參數,那就是選擇位置搜索,從0開始算,空格也會算位置,是從當前位置往后搜索,也算當前的位置
   let str = 'this is es6'
   str.includes('i', 5) // true
   搜索多個也是可以的,當然如果位置超過es6的真實位置會查找不到
   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不算是頭部
   
   這個方法也是有第二個參數的
   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

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

repeat 重復返回一個新的字符串,重復多少次取決于你的參數

參數是 0 到-1 之間的小數,則等同于 0,-0也算0
abc.repeat(3)// abcabcabc

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

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

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

參數也可以為字符串,但是也是空因為下面的字符串會被轉為NaN
'hhh'.repeat('cc') // ''

padStart(),padEnd()Es7的字符串自動補全功能

padStart 我們來先說一下頭部補全

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

我們來看看從后面補全,其實機制和從頭部補全差不多,看一下例子
'aa'.padEnd(5, 'xc') // aaxcx
'啊!'.padEnd(4, '你好') // "啊!你好"

模板字符串

我們先來看一下什么是字符串模板,注意不要用單雙引號,要用··,對就是那個

普通的字符串模板

·this is 啊啊啊啊·

多行文本的字符串模板

·哈哈哈,你好啊
  我是哈哈·

變量的模板字符串  

let a = '你好'
${a}啊 // 你好啊

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

還可以使用函數,但是得把你需要的return出來

  function add () {   return 123
}
${add()}456 // 123456

模板編譯

  let a = `
   <ul> <% for(let i=0; i < 3; i++) { %>
   <li><%= i %></li>
 <% } %>
</ul>`

上面會被輸出為

 <ul>   
   <li>0</li>
   <li>1</li>
   <li>2</li>
</ul>

我們再來看看下面這個,你們猜函數會執行嗎

 let html = `
   <p>
   <h6 @click=${add()}>5</h6>
   <h5>4</h5>
   <h4>3</h4>
   <h3>2</h3>
</p>
   `
   function add() {
   alert(123)
}

String.raw字符串的模板

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

以上是“es6字符串中新增知識有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

正安县| 吉水县| 古浪县| 镇原县| 都兰县| 囊谦县| 石渠县| 南充市| 宿松县| 临漳县| 曲麻莱县| 全南县| 浦北县| 吴忠市| 大田县| 罗山县| 耿马| 全南县| 舞阳县| 武川县| 宁化县| 洛浦县| 云安县| 东方市| 淮南市| 黄骅市| 方正县| 水城县| 鱼台县| 德阳市| 文昌市| 定陶县| 六安市| 平泉县| 桑日县| 万山特区| 奉节县| 京山县| 房山区| 清原| 长葛市|