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

資訊專欄INFORMATION COLUMN

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

voidking / 1922人閱讀

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

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

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
重復次數 repeat(n) 新字符串 no
補全 padStart(length,value) 頭部補全 新字符串 no
補全 padEnd(length,value)尾部補全 新字符串 no
匹配 match() 查找項+位置 no
正則的全匹配 matchAll() 正則 yes
替換 replace() 新字符串 no
轉小寫 toUpperCase() 新字符串 yes
轉小寫 toLowerCase() 新字符串 yes
轉碼點 charCodeAt() 新字符 no
轉碼點 codePointAt() 位置 no
轉字符 charAt() 新字符 no
轉字符 at() 還未實現 位置 no
碼點->字符 String.fromCodePoint() 新字符 /
比較位置順序 localeCompare(a,b) 1/-1/0 no
** normalize() ** no

1.字符串的查找

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

1.1 根據位置查找

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

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

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

codePointAt(n)-----返回碼點,es6 ,優勢,能識別大于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 是否有某些字符,根據字符查找
- indexOf()-------返回位置,沒有就返回-1
- lastIndexOf();---返回位置,從后開始查找
- includes():返回布爾值,表示是否找到了參數字符串。第二個參數,表示開始搜索的位置
- startsWith():返回布爾值,表示參數字符串是否在原字符串的頭部。第二個參數,表示開始搜索的位置
- endsWith():返回布爾值,表示參數字符串是否在原字符串的尾部第二個參數,表示開始搜索的位置 
- match()---返回相關的信息--只接受一個參數,要么正則表達式 要么RegExp對象
- search()----返回位置,沒有就返回-1---只接受一個參數,要么正則表達式 要么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)

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


2.1.2 刪除空格

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

2.2 增加 2.2.1 復制n遍字符串

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

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

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

提示字符串格式;

為數值補全指定位數

"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.字符串的轉換 3.1 大小寫的轉換
- toLowerCase();-----小寫
- toUpperCase();----變大寫
- toLocaleLowerCase();
- toLocaleUpperCase();
3.2 碼點 --> 字符

根據碼點返回對應的字符

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.不同類型的轉換 4.1 string 與 array

array.join(",") ------將數組轉字符串
string.split(",") ---------字符串轉數組

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)--強制轉換
toString(8進制)
toFixed(n)---//數字轉換為字符串,并且顯示小數點后的指定的位數
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 字符串 轉 json 對象
JSON.stringify() -----json 對象轉 json 字符串

5 .字符串的比較

localeCompare()---比較2個字符串,參數應該在比較的字符串前面,則返回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循環遍歷。

與es5的比較
for循環雖可以遍歷字符串,但不能識別大于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"));
結果是 ‘"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"));

結果是‘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 都是合法的數字. 那么在解析 3.toString 的時候這個 . 到底是屬于這個數字還是函數調用呢? 只能是數字, 因為3.合法啊!


文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/107193.html

相關文章

  • JS專題之數組去重

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

    only_do 評論0 收藏0
  • 專題

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

    Leck1e 評論0 收藏0
  • JS專題之數組展開

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

    boredream 評論0 收藏0
  • [面試專題]Vue.js 2.0 獨立構建和運行時構建的區別

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

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

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

    svtter 評論0 收藏0

發表評論

0條評論

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