最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ES6新特性之字符串的擴(kuò)展實(shí)例分析

 更新時(shí)間:2017年04月01日 12:06:12   作者:我的老婆是?;? 
這篇文章主要介紹了ES6新特性之字符串的擴(kuò)展,結(jié)合實(shí)例形式對(duì)比分析了ES5與ES6字符串函數(shù)以及模板字符串相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了ES6新特性之字符串的擴(kuò)展。分享給大家供大家參考,具體如下:

一、ES5字符串函數(shù)

concat: 將兩個(gè)或多個(gè)字符的文本組合起來,返回一個(gè)新的字符串。
indexOf: 返回字符串中一個(gè)子串第一處出現(xiàn)的索引(從左到右搜索)。如果沒有匹配項(xiàng),返回 -1 。
charAt: 返回指定位置的字符。
lastIndexOf: 返回字符串中一個(gè)子串最后一處出現(xiàn)的索引(從右到左搜索),如果沒有匹配項(xiàng),返回 -1 。
match: 檢查一個(gè)字符串匹配一個(gè)正則表達(dá)式內(nèi)容,如果么有匹配返回 null。
substring: 返回字符串的一個(gè)子串,傳入?yún)?shù)是起始位置和結(jié)束位置。
substr: 返回字符串的一個(gè)子串,傳入?yún)?shù)是起始位置和長度
replace: 用來查找匹配一個(gè)正則表達(dá)式的字符串,然后使用新字符串代替匹配的字符串。
search: 執(zhí)行一個(gè)正則表達(dá)式匹配查找。如果查找成功,返回字符串中匹配的索引值。否則返回 -1 。
slice: 提取字符串的一部分,并返回一個(gè)新字符串(與 substring 相同)。
split: 通過將字符串劃分成子串,將一個(gè)字符串做成一個(gè)字符串?dāng)?shù)組。
length: 返回字符串的長度,所謂字符串的長度是指其包含的字符的個(gè)數(shù)。
toLowerCase: 將整個(gè)字符串轉(zhuǎn)成小寫字母。
toUpperCase: 將整個(gè)字符串轉(zhuǎn)成大寫字母。

二、ES6新增常用函數(shù)

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

includes():返回布爾值,表示是否找到了參數(shù)字符串。
startsWith():返回布爾值,表示參數(shù)字符串是否在源字符串的頭部。
endsWith():返回布爾值,表示參數(shù)字符串是否在源字符串的尾部。

var s = 'Hello world!';
s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true

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

'x'.repeat(3) // "xxx"
'hello'.repeat(2) // "hellohello"
'na'.repeat(0) // ""
'na'.repeat(2.9) // "nana"
'na'.repeat(Infinity)// RangeError
'na'.repeat(-1)// RangeError
'na'.repeat(-0.9) // ""

參數(shù)如果是小數(shù),會(huì)被取整(向下取整)。
參數(shù)是負(fù)數(shù)或者Infinity,會(huì)報(bào)錯(cuò)。
參數(shù)是0到-1之間的小數(shù),則等同于0,這是因?yàn)闀?huì)先進(jìn)行取整運(yùn)算。0到-1之間的小數(shù),取整以后等于-0,repeat視同為0。
參數(shù)NaN等同于0。

ES7推出了字符串補(bǔ)全長度的功能。如果某個(gè)字符串不夠指定長度,會(huì)在頭部或尾部補(bǔ)全。padStart用于頭部補(bǔ)全,padEnd用于尾部補(bǔ)全。padStart和padEnd一共接受兩個(gè)參數(shù),第一個(gè)參數(shù)用來指定字符串的最小長度,第二個(gè)參數(shù)是用來補(bǔ)全的字符串。

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

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

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

如果省略第二個(gè)參數(shù),則會(huì)用空格補(bǔ)全長度。

三、模板字符串

1. 多行字符串

傳統(tǒng)的JavaScript語言,輸出模板通常是這樣寫的。

$('#result').append(
  'There are <b>' + basket.count + '</b> ' +
  'items in your basket, ' +
  '<em>' + basket.onSale +
  '</em> are on sale!'
);

上面這種寫法相當(dāng)繁瑣不方便,ES6引入了模板字符串解決這個(gè)問題。

$('#result').append(`
  There are <b>${basket.count}</b> items
   in your basket, <em>${basket.onSale}</em>
  are on sale!
`);

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

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

2.嵌入變量

模板字符串中嵌入變量,需要將變量名寫在${}之中。

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

3.調(diào)用函數(shù)

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

function fn() {
 return "Hello World";
}
`foo ${fn()} bar`
// foo Hello World bar

如果大括號(hào)中的值不是字符串,將按照一般的規(guī)則轉(zhuǎn)為字符串。比如,大括號(hào)中是一個(gè)對(duì)象,將默認(rèn)調(diào)用對(duì)象的toString方法。

如果模板字符串中的變量沒有聲明,將報(bào)錯(cuò)。

如果大括號(hào)內(nèi)部是一個(gè)字符串,將會(huì)原樣輸出。

`Hello ${'World'}`
// "Hello World"

希望本文所述對(duì)大家ECMAScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • JavaScript時(shí)間戳與時(shí)間相互轉(zhuǎn)換的常用方法

    JavaScript時(shí)間戳與時(shí)間相互轉(zhuǎn)換的常用方法

    這篇文章主要介紹了JavaScript時(shí)間戳與時(shí)間相互轉(zhuǎn)換的常用方法,包括獲取當(dāng)前時(shí)間戳、時(shí)間戳轉(zhuǎn)時(shí)間對(duì)象、時(shí)間戳轉(zhuǎn)格式化字符串、時(shí)間字符串轉(zhuǎn)時(shí)間戳等,還討論了常見應(yīng)用場景如計(jì)算時(shí)間差、倒計(jì)時(shí)和UTC與本地時(shí)間互轉(zhuǎn),需要的朋友可以參考下
    2025-04-04
  • 詳細(xì)講解js實(shí)現(xiàn)電梯導(dǎo)航的實(shí)例

    詳細(xì)講解js實(shí)現(xiàn)電梯導(dǎo)航的實(shí)例

    對(duì)于某一個(gè)頁面內(nèi)容繁多,如果我們滾動(dòng)的時(shí)間較長,為了增加用戶體驗(yàn),我們需要實(shí)現(xiàn)點(diǎn)擊某一個(gè)按鈕,然后滾動(dòng)到對(duì)應(yīng)的區(qū)域,滾動(dòng)的時(shí)候,右側(cè)對(duì)應(yīng)的分類實(shí)現(xiàn)高亮,所以本文給大家詳細(xì)介紹講解了js實(shí)現(xiàn)電梯導(dǎo)航,需要的朋友可以參考下
    2023-10-10
  • 微信小程序?qū)崿F(xiàn)電子簽名功能

    微信小程序?qū)崿F(xiàn)電子簽名功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)電子簽名功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • 微信小程序?qū)崿F(xiàn)聊天對(duì)話(文本、圖片)功能

    微信小程序?qū)崿F(xiàn)聊天對(duì)話(文本、圖片)功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)聊天對(duì)話功能,可以發(fā)送文本、圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 折疊菜單及選擇器的運(yùn)用

    折疊菜單及選擇器的運(yùn)用

    本文主要介紹了折疊菜單及選擇器的運(yùn)用。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • JS仿Windows開機(jī)啟動(dòng)Loading進(jìn)度條的方法

    JS仿Windows開機(jī)啟動(dòng)Loading進(jìn)度條的方法

    這篇文章主要介紹了JS仿Windows開機(jī)啟動(dòng)Loading進(jìn)度條的方法,實(shí)例分析了javascript操作html元素及對(duì)應(yīng)樣式實(shí)現(xiàn)特效的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • thinkjs微信中控之微信鑒權(quán)登陸的實(shí)現(xiàn)代碼

    thinkjs微信中控之微信鑒權(quán)登陸的實(shí)現(xiàn)代碼

    這篇文章主要介紹了thinkjs微信中控之微信鑒權(quán)登陸的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • JavaScript制作顏色反轉(zhuǎn)小游戲

    JavaScript制作顏色反轉(zhuǎn)小游戲

    本文給大家分享的是一個(gè)JavaScript實(shí)現(xiàn)的顏色反轉(zhuǎn)的小游戲的源碼,非常的簡單好玩,有需要的小伙伴可以參考下
    2016-09-09
  • 理解javascript定時(shí)器中的setTimeout與setInterval

    理解javascript定時(shí)器中的setTimeout與setInterval

    這篇文章主要幫助大家學(xué)習(xí)理解javascript定時(shí)器中的setTimeout與setInterval,從實(shí)例出發(fā)進(jìn)行深入探討,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 解決layui動(dòng)態(tài)加載復(fù)選框無法選中的問題

    解決layui動(dòng)態(tài)加載復(fù)選框無法選中的問題

    今天小編就為大家分享一篇解決layui動(dòng)態(tài)加載復(fù)選框無法選中的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09

最新評(píng)論

光山县| 迭部县| 庄河市| 辽中县| 麻城市| 鄂托克前旗| 利辛县| 环江| 虎林市| 无棣县| 台江县| 大宁县| 新干县| 汶上县| 资中县| 观塘区| 黄骅市| 谷城县| 灌云县| 海安县| 若羌县| 吉安县| 南开区| 胶南市| 新干县| 理塘县| 鄂尔多斯市| 永靖县| 荆门市| 周至县| 盘山县| 永泰县| 九寨沟县| 望江县| 揭东县| 伊通| 西丰县| 汝阳县| 电白县| 荥经县| 墨竹工卡县|