成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

[JS專題1]----字符串

voidking / 1923人閱讀

摘要:總結(jié)整理與字符串相關(guān)的知識點(diǎn)。第二個參數(shù),表示開始搜索的位置返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。能識別位字符。

總結(jié):整理與字符串相關(guān)的知識點(diǎn)。
主要有
1.對字符串的查找,如是否有某些字符,字符在哪個位置,根據(jù)位置去查找字符
2.對字符串的刪除,截取我們想要的字符,也可能是刪除我們不想要的字符
3.對字符串的增加 固定格式的補(bǔ)全 自動補(bǔ)全 重復(fù)補(bǔ)全 拼接
4.對字符串的替換,對某些字符的全部替換 或者說僅對第一個出現(xiàn)的字符替換
5.轉(zhuǎn)換 大小寫的轉(zhuǎn)換 轉(zhuǎn)為碼點(diǎn) 碼點(diǎn)轉(zhuǎn)字符
6.不同類型的轉(zhuǎn)換;數(shù)字與字符串的轉(zhuǎn)換 數(shù)組與字符串的轉(zhuǎn)換
7.比較 比較大小 比較某些字符出現(xiàn)的位置順序

0、字符串的方法大合集
含義 方法 返回值 改變原字符串
查找 indexOf() 位置 no
查找 search() 位置 yes
查找 includes() boolean no
查找 startswith()頭部有? boolean yes
查找 endsWith() 尾部有? boolean yes
截取 substr(start,length) 新字符串 no
截取 substring(start,stop) 新字符串 no
截取 slice(start,stop) 新字符串 no
去空格 trim() ** no
重復(fù)次數(shù) repeat(n) 新字符串 no
補(bǔ)全 padStart(length,value) 頭部補(bǔ)全 新字符串 no
補(bǔ)全 padEnd(length,value)尾部補(bǔ)全 新字符串 no
匹配 match() 查找項(xiàng)+位置 no
正則的全匹配 matchAll() 正則 yes
替換 replace() 新字符串 no
轉(zhuǎn)小寫 toUpperCase() 新字符串 yes
轉(zhuǎn)小寫 toLowerCase() 新字符串 yes
轉(zhuǎn)碼點(diǎn) charCodeAt() 新字符 no
轉(zhuǎn)碼點(diǎn) codePointAt() 位置 no
轉(zhuǎn)字符 charAt() 新字符 no
轉(zhuǎn)字符 at() 還未實(shí)現(xiàn) 位置 no
碼點(diǎn)->字符 String.fromCodePoint() 新字符 /
比較位置順序 localeCompare(a,b) 1/-1/0 no
** normalize() ** no

1.字符串的查找

如是否有某些字符,某個字符的位置是哪里? 第n 位的字符是什么

1.1 根據(jù)位置查找

charAt(n) -----返回字符;只接收位置參數(shù),位置參數(shù)過大時,返回空。參數(shù)非數(shù)字時,返回第一個字符

可通過str[n]的方式 -----返回字符---位置參數(shù)過大時,返回undefined

charCodeAt(n) -----返回碼點(diǎn),es5

codePointAt(n)-----返回碼點(diǎn),es6 ,優(yōu)勢,能識別大于oxFFFF的編碼

var s = "kljlk;juoi"
s.charAt(2) // j
s.charAt("j") // k
s.charAt("15") // ""
s[15] // undefined
s[3] // l
s.charCodeAt(2) //  106
s.codePointAt(2) // 106
1.2 是否有某些字符,根據(jù)字符查找
- indexOf()-------返回位置,沒有就返回-1
- lastIndexOf();---返回位置,從后開始查找
- includes():返回布爾值,表示是否找到了參數(shù)字符串。第二個參數(shù),表示開始搜索的位置
- startsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。第二個參數(shù),表示開始搜索的位置
- endsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的尾部第二個參數(shù),表示開始搜索的位置 
- match()---返回相關(guān)的信息--只接受一個參數(shù),要么正則表達(dá)式 要么RegExp對象
- search()----返回位置,沒有就返回-1---只接受一個參數(shù),要么正則表達(dá)式 要么RegExp對象
let s = "Hello world!";

s.startsWith("world", 6) // true
s.endsWith("Hello", 5) // true
s.includes("Hello", 6) // false

var s1 = "fdkfdkjldrm "
s1.indexOf("kjl") // 5
s1.lastIndexOf("kjl") // 5
s1.indexOf("fd") // 0
s1.lastIndexOf("fd") // 3
s1.search("fdlp") // -1
s1.search("fd") // 0
s1.search("kjl") // 5
s1.match("fd") // ["fd", index: 0, input: "fdkfdkjldrm ", groups: undefined]
s1.match("f5") // null
2.字符串的增刪改

以下4種方法不會修改字符串本身;

2.1 刪除

2.1.2截取
slice(start,stop)
substring(start,stop)
substr(start,length)

  **共同點(diǎn):**
  基于字符串創(chuàng)建新字符串,不改變原有字符串
  第二個參數(shù)是可選的
  無第二個參數(shù),即字符結(jié)尾為結(jié)束位置
  **不同點(diǎn)**
  對負(fù)數(shù)的處理:
  slice()---將負(fù)數(shù)和字符串長度相加
  substring()----將負(fù)數(shù)轉(zhuǎn)為0
  substr()---將第一個負(fù)數(shù)和字符串長度相加。第二個負(fù)數(shù)轉(zhuǎn)為0,即不截取


2.1.2 刪除空格

    trim() 刪除字符串中 前置和后置的空格
    

2.2 增加 2.2.1 復(fù)制n遍字符串

repeat(n) --返回一個新字符串,表示將原字符串重復(fù)n次。
參數(shù)如果是小數(shù),會被取整。

"x".repeat(3) // "xxx"
"hello".repeat(2) // "hellohello"
"na".repeat(0) // ""
"na".repeat(2.9) // "nana"
"na".repeat(Infinity)
// RangeError
"na".repeat(-1)
// RangeError
參數(shù)NaN等同于 0
2.2.2.補(bǔ)全長度

padStart(minlength,string)用于頭部補(bǔ)全,
padEnd(minlength,string)用于尾部補(bǔ)全
用途:

提示字符串格式;

為數(shù)值補(bǔ)全指定位數(shù)

"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"
"x".padStart(4) // "   x"
"x".padEnd(4) // "x   "
"12".padStart(10, "YYYY-MM-DD") // "YYYY-MM-12"
"09-12".padStart(10, "YYYY-MM-DD") // "YYYY-09-12"
2.3 - 拼接 concat();

2.4 修改

replace();

3.字符串的轉(zhuǎn)換 3.1 大小寫的轉(zhuǎn)換
- toLowerCase();-----小寫
- toUpperCase();----變大寫
- toLocaleLowerCase();
- toLocaleUpperCase();
3.2 碼點(diǎn) --> 字符

根據(jù)碼點(diǎn)返回對應(yīng)的字符

es5:String.fromCharCode(0x20BB7); 定義在String對象上

es6:String.fromCodePoint();定義在字符串的實(shí)例對象上。--能識別32位字符。即能識別Unicode編號大于oxFFFF;

String.fromCharCode(100)
"d"
String.fromCodePoint(0x20BB7)
// "?"
String.fromCodePoint(100,100,100)
// ffffd
4.不同類型的轉(zhuǎn)換 4.1 string 與 array

array.join(",") ------將數(shù)組轉(zhuǎn)字符串
string.split(",") ---------字符串轉(zhuǎn)數(shù)組

4.2 number與string

number --->string(4種)

1.Number()
2.parseInt()
3.parseFloat()
4.+string-----
var s = "23"
var k = +s
typeof k // number

number---> string(4種)

String(number)--強(qiáng)制轉(zhuǎn)換
toString(8進(jìn)制)
toFixed(n)---//數(shù)字轉(zhuǎn)換為字符串,并且顯示小數(shù)點(diǎn)后的指定的位數(shù)
number + ""
var s = 123.68
var k= s.tiString(8)
var k0 = s.toFixed(1)
var k1 = String(s)
k // "173.43656"
k0 // "123.7"
k1 // "123.68"
4.3 string 與 object

JSON.parse() ------ json 字符串 轉(zhuǎn) json 對象
JSON.stringify() -----json 對象轉(zhuǎn) json 字符串

5 .字符串的比較

localeCompare()---比較2個字符串,參數(shù)應(yīng)該在比較的字符串前面,則返回1;后面,則 -1; 等于,則 0;

var s= "dfhk"
s.localeCompare("fgfg") // -1
s.localeCompare("afgfg") // 1
s.localeCompare("dfhk") // 0
s.localeCompare("df") // 1
6.其他常用的方法 6.1字符串的遍歷器接口

字符串可以被for...of循環(huán)遍歷。

與es5的比較
for循環(huán)雖可以遍歷字符串,但不能識別大于oxFFFF的編碼;

valueOf()

toLocaleString()

7.{{BANNED}}考題

1.

function showCase(value) {
    switch(value) {
    case "A":
        console.log("Case A");
        break;
    case "B":
        console.log("Case B");
        break;
    case undefined:
        console.log("undefined");
        break;
    default:
        console.log("Do not know!");
    }
}
showCase(new String("A"));
結(jié)果是 ‘"Do not know!’

2.

function showCase2(value) {
    switch(value) {
    case "A":
        console.log("Case A");
        break;
    case "B":
        console.log("Case B");
        break;
    case undefined:
        console.log("undefined");
        break;
    default:
        console.log("Do not know!");
    }
}
showCase2(String("A"));

結(jié)果是‘Case A’

3.

"5" + 3

"5" - 3

// 53 2; because:Strings know about + and will use it, but they are ignorant of - so in that case the strings get converted to numbers.

4.

3.toString()
3..toString()
3...toString()

// error  "3" error;because:1.1, 1., .1 都是合法的數(shù)字. 那么在解析 3.toString 的時候這個 . 到底是屬于這個數(shù)字還是函數(shù)調(diào)用呢? 只能是數(shù)字, 因?yàn)?.合法啊!


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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/107193.html

相關(guān)文章

  • JS專題之?dāng)?shù)組去重

    摘要:將元素作為對象的鍵,默認(rèn)鍵對應(yīng)的值為如果對象中沒有這個鍵,則將這個元素放入結(jié)果數(shù)組中去。 前言 數(shù)組去重在日常開發(fā)中的使用頻率還是較高的,也是網(wǎng)上隨便一抓一大把的話題,所以,我寫這篇文章目的在于歸納和總結(jié),既然很多人都在提的數(shù)組去重,自己到底了解多少呢。又或者是如果自己在開發(fā)中遇到了去重的需求,自己能想到更好的解決方案嗎。 這次我們來理一理怎么做數(shù)組去重才能做得最合適,既要考慮兼容性,...

    only_do 評論0 收藏0
  • 專題

    摘要:專題安全攻防專題跨站腳本攻擊,原理利用系統(tǒng)漏洞,將具有惡意攻擊行為的可執(zhí)行腳本植入系統(tǒng),且會自動執(zhí)行。 專題 /* * web安全攻防專題 * ------------------------------------------------------------------------ * xss:跨站腳本攻擊(XSS,Cross-site scripting) * * * 1、...

    Leck1e 評論0 收藏0
  • JS專題之?dāng)?shù)組展開

    摘要:根據(jù)需求的特點(diǎn),數(shù)組展開需要進(jìn)行迭代和遞歸?;卮鹞恼麻_頭的問題將多重?cái)?shù)組轉(zhuǎn)化成單層數(shù)組的過程就是數(shù)組展開,也叫作數(shù)組扁平化一循環(huán)加遞歸最簡單的思路循環(huán)中判斷,如果子元素是數(shù)組則遞歸。 前言 首先什么是數(shù)組展開? 假如現(xiàn)在有這樣一個需求:將后臺的一個多重 List 數(shù)據(jù),展開成一個 List 后,并去重后排序; [a, b, [c, d], [[d],e], f] => [a, b, ...

    boredream 評論0 收藏0
  • [面試專題]Vue.js 2.0 獨(dú)立構(gòu)建和運(yùn)行時構(gòu)建的區(qū)別

    摘要:獨(dú)立構(gòu)建和運(yùn)行時構(gòu)建的區(qū)別標(biāo)簽空格分隔未分類在使用時,有獨(dú)立構(gòu)建和運(yùn)行時構(gòu)建兩種版本可供選擇。運(yùn)行時構(gòu)建不包括模板編譯,不支持選項(xiàng)。這就形成了獨(dú)立構(gòu)建編譯器運(yùn)行時和運(yùn)行時構(gòu)建僅運(yùn)行時。 Vue.js 2.0 獨(dú)立構(gòu)建和運(yùn)行時構(gòu)建的區(qū)別 標(biāo)簽(空格分隔): 未分類 在使用 Vue.js 2.0 時,有獨(dú)立構(gòu)建(standalone)和運(yùn)行時構(gòu)建(runtime-only)兩種版本可供選...

    李義 評論0 收藏0
  • [面試專題]Vue.js 2.0 獨(dú)立構(gòu)建和運(yùn)行時構(gòu)建的區(qū)別

    摘要:獨(dú)立構(gòu)建和運(yùn)行時構(gòu)建的區(qū)別標(biāo)簽空格分隔未分類在使用時,有獨(dú)立構(gòu)建和運(yùn)行時構(gòu)建兩種版本可供選擇。運(yùn)行時構(gòu)建不包括模板編譯,不支持選項(xiàng)。這就形成了獨(dú)立構(gòu)建編譯器運(yùn)行時和運(yùn)行時構(gòu)建僅運(yùn)行時。 Vue.js 2.0 獨(dú)立構(gòu)建和運(yùn)行時構(gòu)建的區(qū)別 標(biāo)簽(空格分隔): 未分類 在使用 Vue.js 2.0 時,有獨(dú)立構(gòu)建(standalone)和運(yùn)行時構(gòu)建(runtime-only)兩種版本可供選...

    svtter 評論0 收藏0

發(fā)表評論

0條評論

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