1.at()-返回字串給定位置的字元
charat():該方法不能識別碼點大於0xffff的字元
at():可以識別碼點大於0xffff的字元
2.includes()-返回布林值,表示是否找到了引數字串
startswith()-返回布林值,表示引數字串是否在源字串的頭部
endswidth()-返回布林值,表示引數字串是否在源字串的尾部
var s = 'hello world!';
s.startswith('hello')//true
s.endswith('!')//true
s.includes('o')//true
這三個方法都支援第二個引數,表示開始搜尋的位置。
var s = 'hello world!';
s.startswith('world',6)//true
s.endswith('hello',5)//true
s.includes('hello',6)//false
上面**表示,使用第二個引數n時,endswith的行為與其他兩個方法有所不同。它針對前n個字元,而其他兩個方法針對從第n個位置直到字串結束的字元。
3.repeat()-返回乙個新字串,表示將原字串重複n次
'x'.repeat(3)//"***"
'hello'.repeat(2)//"hellohello"
'na'.repeat(0)//""
引數如果是小數,會被取整。
'na'.repeat(2.9)//"nana"
如果引數是負數或者infinity,會報錯。
'na'.repeat(infinity)//rangeerror
'na'.repeat(-1)//rangeerror
如果引數是0到-1之間的小數,則等同於0,這是因為會先進行取整運算。0到-1之間的小數,取整以後等於-0,repeat視同為0。
'na'.repeat(-0.9)//""
引數nan等同於0。
'na'.repeat(nan)//""
如果引數是字串,則會先轉換成數字。
'na'.repeat('na')//""
'na'.repeat('3')//"nanana"
4.padstart(),padend()-字串補全長度,padstart用於頭部補全,padend用於尾部補全。
'x'.padstart(5,'ab')//"ababx"
'x'.padstart(4,'ab')//"abax"
'x'.padend(5,'ab')//"xabab"
'x'.padend(4,'ab')//"xaba"
上面的**中,padstart和padend分別接受兩個引數,第乙個引數用來指定字串的最小長度,第二個引數是用來補全的字串。
如果原字串的長度等於或大於指定的最小長度,則返回字串。
'***'.padstart(2,'ab')//"***"
'***'.padend(2,'ab')//"***"
如果省略第二個引數,則會用空格來補全。
'x'.padstart(4)//" x"
'x'.padend(4)//"x "
ES6 字串擴充套件
1 字串可以使用 u x的形式來表達乙個字元,x叫做字元的碼點,x的範圍是0000 ffff,超過ffff的碼點需要用兩個雙位元組表示 如果我們 u後面的16進製制的值大於ffff,我們需要加乙個大括號 u讓js正確解析。2 我們應該都了解,漢字一般都需要兩個雙位元組來表示,在js中兩個位元組佔乙個...
ES6 字串的擴充套件
js中有indexof方法,來確認乙個字串是否包含在另乙個字串中。es6又提供了三中新方法 includes 返回布林值,表示是否找到了引數字串。startswith 返回布林值,表示引數字串是否在源字串的頭部。endswith 返回布林值,表示引數字串是否在源字串的尾部。let s hello w...
ES6 字串的擴充套件
u 其中 為字元的碼點 1 codepointat 獲取當前字元的unicode編碼,能夠正確處理4個位元組儲存的字元 2 string.fromcodepoint 從unicode編碼轉換成字元 1 for value of str 對字串進行遍歷 2 at 獲取指定位置的字元,可以正確識別中文字...