国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

字符串的擴展

李世贊 / 1633人閱讀

摘要:字符串的擴展字符的表示法參數(shù)與數(shù)組字符串的遍歷使用循環(huán)遍歷傳統(tǒng)的字符串只有方法,可以用來確定一個字符串是否包含在另一個字符串中。返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。

字符串的擴展 1.字符的 Unicode 表示法 rest參數(shù)與數(shù)組
function log(...value) {
  console.log(value);
  console.log(...value);
}

log([1,2,3]);
// [ [ 1, 2, 3 ] ]
// [ 1, 2, 3 ]
log(1,2,3);
// [ 1, 2, 3 ]
// 1 2 3
2.字符串的遍歷

使用for...of循環(huán)遍歷

for(let item of "foo"){
console.log(item); //"f" "o" "o"
}
3.includes(),startsWith(),endsWith()

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

 - includes():返回布爾值,表示是否找到了參數(shù)字符串。
 - StartsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。
 - endsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的尾部。
let s = "Hello world!"
s.startsWith("Hello") //true
s.endsWith("!") //true
s.includes("o") //true

這三種方法都支持第二個參數(shù),表示開始搜索的位置。

let s = "Hello world!";
s.startsWith("world",6)//true
s.endsWith("Hello",5)//true 前5個字符串
s.includes("Hello",6)//false
//上面代碼表示,使用第二個參數(shù)n時,**endsWith的行為與其他兩個方法有所不同。它針對前n個字符,**而其他兩個方法針對從第n個位置直到字符串結(jié)束。
4.repeat()

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

"x".repeat(3)//"xxx"
"hello".repeat(2)//"hellohello"
"na".rapeat(0) //""

如果參數(shù)是小數(shù),則會取整。

"na".repeat(2.9) //"nana"

如果參數(shù)是負數(shù)或者是Infinity,會報錯

"na".repeat(Infinity)
//RangError
"na".repeat(-1)//RangError

如果參數(shù)在0到-1之間則視為為0

"na".repeat(-0.9) //""
//參數(shù)NaN等同于0
"na".repeat(NaN)//""
//如果參數(shù)是字符串則會先轉(zhuǎn)換成數(shù)字
"na".repeat("na") //""
"na".rapeat("3")//"nanana"
5.padStart(),padEnd()

字符串補全的功能
padStart()用于頭部補全,padEnd()用于尾部補全。

"x".padStart(5,"ab");//"ababx"
"x".padStart(4,"ab");//"abax"

"x".padEnd(5,"ab");//"xabab"
"x".padEnd(4,"ab");//"xaba"

如果原字符串的長度,等于或大于最大長度,則字符串補全不生效,返回原字符串。

"xxx".padStart(2,"ab") //"xxx" 返回原字符串
"xxx".padEnd(2,"ab") //"xxx" 返回原字符串

如果補全的字符串和原字符串,兩者的長度超出了最大長度,則截取超出位數(shù)的補全字符串

"abc".padStart(10,"0123456789") //"0123456abc"

如果省略第二個參數(shù),默認使用空格補全長度。
"x".padStart(4) //"   x"
"x".padEnd(4) //"x   "

padStart()的常見用途是為數(shù)值補全指定位數(shù)。下面代碼生成 10 位的數(shù)值字符串。

"1".padStart(10, "0") // "0000000001"
"12".padStart(10, "0") // "0000000012"
"123456".padStart(10, "0") // "0000123456"

另一個用途是提示字符串格式。

"12".padStart(10,"YYYY-MM-DD") //"YYYY-MM-12"
"09-12".padStart(10, "YYYY-MM-DD") // "YYYY-09-12"
6.字符串嵌入變量
// 字符串中嵌入變量
let name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`

大括號內(nèi)部可以放入任意的 JavaScript 表達式,可以進行運算,以及引用對象屬性。

let x = 1;
let y = 2;

`${x} + ${y} = ${x + y}`
// "1 + 2 = 3"

`${x} + ${y * 2} = ${x + y * 2}`
// "1 + 4 = 5"

let obj = {x: 1, y: 2};
`${obj.x + obj.y}`
// "3"

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

function fn() {
  return "Hello World";
}

`foo ${fn()} bar`
// foo Hello World bar
如果模板字符串中的變量沒有聲明,將報錯。
// 變量place沒有聲明
let msg = `Hello, ${place}`;
// 報錯

//由于模板字符串的大括號內(nèi)部,就是執(zhí)行 JavaScript 代碼,因此如果大括號內(nèi)部是一個字符串,將會原樣輸出
`Hello ${"World"}`
// "Hello World"

模板字符串甚至還能嵌套。
const tmpl = addrs => `
  
  ${addrs.map(addr => `
    
  `).join("")}
  
${addr.first}
${addr.last}
`;

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

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

相關(guān)文章

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

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

    不知名網(wǎng)友 評論0 收藏0
  • XML 實體擴展攻擊

    摘要:雖說可以通過上述方式進行防御,遠程實體擴展通過使解析器發(fā)出遠程請求來獲得被引用實體的擴展值來進行攻擊。返回結(jié)果將自行定義其他解析器必須另行請求的外部實體。 XMl Entity Expansion(攻擊)某種程度上類似于 XML Entity Expansion,但是它主要試圖通過消耗目標程序的服務(wù)器環(huán)境來進行DOS攻擊的。這種攻擊基于XML Entity Expansion實現(xiàn),通過...

    TerryCai 評論0 收藏0
  • 第6章 擴展函數(shù)與屬性

    摘要:項目實戰(zhàn)教程第章擴展函數(shù)與屬性在使用的時候,我們經(jīng)常使用諸如等等一堆工具類,代碼寫起來也比較冗長。本章我們介紹的擴展函數(shù)和屬性。擴展函數(shù)中提供了非常簡單使用的擴展函數(shù)功能。 《Kotlin 項目實戰(zhàn)教程》 第6章 擴展函數(shù)與屬性 在使用Java的時候,我們經(jīng)常使用諸如StringUtil, DateUtil等等一堆工具類,代碼寫起來也比較冗長。舉個例子,獲取一個字符串的第一個字符值、最...

    wangdai 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<