成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

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

voidking / 1974人閱讀

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

總結(jié):整理與字符串相關(guān)的知識(shí)點(diǎn)。
主要有
1.對(duì)字符串的查找,如是否有某些字符,字符在哪個(gè)位置,根據(jù)位置去查找字符
2.對(duì)字符串的刪除,截取我們想要的字符,也可能是刪除我們不想要的字符
3.對(duì)字符串的增加 固定格式的補(bǔ)全 自動(dòng)補(bǔ)全 重復(fù)補(bǔ)全 拼接
4.對(duì)字符串的替換,對(duì)某些字符的全部替換 或者說(shuō)僅對(duì)第一個(gè)出現(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、字符串的方法大合集
含義 方法 返回值 改變?cè)址?/th>
查找 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.字符串的查找

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

1.1 根據(jù)位置查找

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

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

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

codePointAt(n)-----返回碼點(diǎn),es6 ,優(yōu)勢(shì),能識(shí)別大于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ù)字符串。第二個(gè)參數(shù),表示開始搜索的位置
- startsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。第二個(gè)參數(shù),表示開始搜索的位置
- endsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的尾部第二個(gè)參數(shù),表示開始搜索的位置 
- match()---返回相關(guān)的信息--只接受一個(gè)參數(shù),要么正則表達(dá)式 要么RegExp對(duì)象
- search()----返回位置,沒有就返回-1---只接受一個(gè)參數(shù),要么正則表達(dá)式 要么RegExp對(duì)象
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種方法不會(huì)修改字符串本身;

2.1 刪除

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

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


2.1.2 刪除空格

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

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

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

"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ǔ)全長(zhǎng)度

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)返回對(duì)應(yīng)的字符

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

es6:String.fromCodePoint();定義在字符串的實(shí)例對(duì)象上。--能識(shí)別32位字符。即能識(shí)別Unicode編號(hào)大于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 對(duì)象
JSON.stringify() -----json 對(duì)象轉(zhuǎn) json 字符串

5 .字符串的比較

localeCompare()---比較2個(gè)字符串,參數(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)雖可以遍歷字符串,但不能識(shí)別大于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í)候這個(gè) . 到底是屬于這個(gè)數(shù)字還是函數(shù)調(diào)用呢? 只能是數(shù)字, 因?yàn)?.合法啊!


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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/107193.html

相關(guān)文章

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

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

    only_do 評(píng)論0 收藏0
  • 專題

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

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

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

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

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

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

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

    svtter 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<