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

資訊專欄INFORMATION COLUMN

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

voidking / 1913人閱讀

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

總結(jié):整理與字符串相關(guān)的知識點。
主要有
1.對字符串的查找,如是否有某些字符,字符在哪個位置,根據(jù)位置去查找字符
2.對字符串的刪除,截取我們想要的字符,也可能是刪除我們不想要的字符
3.對字符串的增加 固定格式的補全 自動補全 重復補全 拼接
4.對字符串的替換,對某些字符的全部替換 或者說僅對第一個出現(xiàn)的字符替換
5.轉(zhuǎn)換 大小寫的轉(zhuǎn)換 轉(zhuǎ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
重復次數(shù) repeat(n) 新字符串 no
補全 padStart(length,value) 頭部補全 新字符串 no
補全 padEnd(length,value)尾部補全 新字符串 no
匹配 match() 查找項+位置 no
正則的全匹配 matchAll() 正則 yes
替換 replace() 新字符串 no
轉(zhuǎn)小寫 toUpperCase() 新字符串 yes
轉(zhuǎn)小寫 toLowerCase() 新字符串 yes
轉(zhuǎn)碼點 charCodeAt() 新字符 no
轉(zhuǎn)碼點 codePointAt() 位置 no
轉(zhuǎn)字符 charAt() 新字符 no
轉(zhuǎn)字符 at() 還未實現(xiàn) 位置 no
碼點->字符 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) -----返回碼點,es5

codePointAt(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ù),要么正則表達式 要么RegExp對象
- search()----返回位置,沒有就返回-1---只接受一個參數(shù),要么正則表達式 要么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)

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


2.1.2 刪除空格

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

2.2 增加 2.2.1 復制n遍字符串

repeat(n) --返回一個新字符串,表示將原字符串重復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.補全長度

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

提示字符串格式;

為數(shù)值補全指定位數(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 碼點 --> 字符

根據(jù)碼點返回對應的字符

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

es6:String.fromCodePoint();定義在字符串的實例對象上。--能識別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)--強制轉(zhuǎn)換
toString(8進制)
toFixed(n)---//數(shù)字轉(zhuǎn)換為字符串,并且顯示小數(shù)點后的指定的位數(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ù)應該在比較的字符串前面,則返回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ù)字, 因為3.合法啊!


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

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

相關(guān)文章

  • JS專題之數(shù)組去重

    摘要:將元素作為對象的鍵,默認鍵對應的值為如果對象中沒有這個鍵,則將這個元素放入結(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專題之數(shù)組展開

    摘要:根據(jù)需求的特點,數(shù)組展開需要進行迭代和遞歸?;卮鹞恼麻_頭的問題將多重數(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 獨立構(gòu)建和運行時構(gòu)建的區(qū)別

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

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

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

    svtter 評論0 收藏0

發(fā)表評論

0條評論

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