本文實例講述了ES6基礎(chǔ)之字符串和函數(shù)的拓展。分享給大家供大家參考,具體如下:
字符串的拓展
1.ES6為字符串添加了遍歷器接口,因此可以使用for...of循環(huán)遍歷字符串
2.字符串新增的 includes()、startsWith()、endsWidth() 三個方法用于判斷某一字符串是否包含于另一字符串
includes():返回布爾值,表示源字符串中是否包含參數(shù)字符串。 startsWith():返回布爾值,表示參數(shù)字符串是否在源字符串的頭部。 endsWith():返回布爾值,表示參數(shù)字符串是否在源字符串的尾部。3.新增 repeat() 方法, 該方法返回一個新字符串,不是對原字符串操作,表示將原字符串重復(fù)n次。
let str = 'abc';str.repeat(3) //abcabcabc str //abc
ps:該方法參數(shù)為正整數(shù),如果為負(fù)數(shù)會報錯,小數(shù)向下取整;
4.新增 padStart(),padEnd() 方法,用于補(bǔ)全字符串,該方法返回一個新字符串,不是對原字符串操作,傳入兩個參數(shù),第一個參數(shù)用來指定字符串的最小長度,第二個參數(shù)是用來補(bǔ)全的字符串(缺省的話默認(rèn)空格補(bǔ)全)。(ps:如果原字符串的長度,等于或大于指定的最小長度,則返回原字符串);
let str = 'abc';str.padStart(2, 'abc') // 'abc'str.padEnd(2, 'abc') // 'abc'
5.模板字符串··(esc下面的那個按鍵),可以擺脫傳統(tǒng)的字符串拼接的模式,直接將變量(表達(dá)式,對象的引用,函數(shù)等)寫在模板字符串中輸出
let str = 'world';let html = `hello ${str}`;html //hello wroldps:所有模板字符串的空格和換行,都是被保留的,可以使用trim方法消除換行。
6.標(biāo)簽?zāi)0澹茨0遄址o跟在一個函數(shù)名后面,該函數(shù)將被調(diào)用來處理這個模板字符串,這中方式被稱為“標(biāo)簽?zāi)0濉保皹?biāo)簽”指的就是函數(shù),緊跟在后面的模板字符串就是它的參數(shù)
console.log `123`// 等同于console.log (123)
7.如果模板字符里面有變量,會將模板字符串先處理成多個參數(shù),再調(diào)用函數(shù);
var a = 5;var b = 10;function tag(s, v1, v2) { console.log(s) console.log(v1); console.log(v2);}tag`Hello ${ a + b } world ${ a * b }`;//['Hello','world','']//15//50可以看出,tag函數(shù)第一個參數(shù)是一個數(shù)組,數(shù)組的成員是模板字符串中那些沒有變量替換的部分,其他參數(shù),都是模板字符串各個變量被替換后的值;
8.再來一個例子,看看標(biāo)簽?zāi)0宓氖褂梅椒ǎ?/p>
var total = 30;var msg = passthru`The total is ${total} (${total*1.05} with tax)`;function passthru(literals) { var result = ''; var i = 0; while (i < literals.length) { result += literals[i++]; if (i < arguments.length) { result += arguments[i]; } } return result;}
新聞熱點
疑難解答
圖片精選