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

資訊專欄INFORMATION COLUMN

【重溫基礎(chǔ)】8.字符串

Batkid / 1926人閱讀

摘要:字符串拓展在我們判斷字符串是否包含另一個字符串時,之前,我們只有方法,之后我們又多了三種方法返回布爾值,表示是否找到參數(shù)字符串。返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。

本文是 重溫基礎(chǔ) 系列文章的第八篇。
今日感受:人在異鄉(xiāng),也不能忘記湯圓。

系列目錄:

【復(fù)習(xí)資料】ES6/ES7/ES8/ES9資料整理(個人整理)

【重溫基礎(chǔ)】1.語法和數(shù)據(jù)類型

【重溫基礎(chǔ)】2.流程控制和錯誤處理

【重溫基礎(chǔ)】3.循環(huán)和迭代

【重溫基礎(chǔ)】4.函數(shù)

【重溫基礎(chǔ)】5.表達(dá)式和運算符

【重溫基礎(chǔ)】6.數(shù)字

【重溫基礎(chǔ)】7.時間對象

本章節(jié)復(fù)習(xí)的是JS中的字符串,還有字符串的相關(guān)屬性和方法。

前置知識:
JavaScript中的字符串的每個元素,在字符串中都占據(jù)一個位置,第一個元素的索引值為0,往后累加,另外創(chuàng)建字符串有2個方法:

1.字面量創(chuàng)建:

let a = "hello";  // "hello"
typeof a; // "string"

2.字符串對象創(chuàng)建:

let a = new String("hello"); //String?{"hello"}
typeof a; // "object"

實際開發(fā)中,除非必要,建議使用字面量創(chuàng)建,因為兩種創(chuàng)建方法會有差異:

let a1 = "1+1";
let a2 = new String("1+1");
eval(a1); // number  2
eval(a2); // string  "1+1"

String有一個length屬性,表示字符串中字符個數(shù):

let a = "hello";
a.length; // 5
1.String對象方法:

String對象的方法非常多,建議大家可以到 W3school JavaScript String 對象 學(xué)習(xí)完整的內(nèi)容。

方法 描述
charAt, charCodeAt, codePointAt 返回字符串指定位置的字符或者字符編碼。
indexOf, lastIndexOf 分別返回字符串中指定子串的位置或最后位置。
startsWith, endsWith, includes 返回字符串是否以指定字符串開始、結(jié)束或包含指定字符串。
concat 連接兩個字符串并返回新的字符串。
fromCharCode, fromCodePoint 從指定的Unicode值序列構(gòu)造一個字符串。這是一個String類方法,不是實例方法。
split 通過將字符串分離成一個個子串來把一個String對象分裂到一個字符串?dāng)?shù)組中。
slice 從一個字符串提取片段并作為新字符串返回。
substring, substr 分別通過指定起始和結(jié)束位置,起始位置和長度來返回字符串的指定子集。
match, replace, search 通過正則表達(dá)式來工作.
toLowerCase, toUpperCase 分別返回字符串的小寫表示和大寫表示。
normalize 按照指定的一種 Unicode 正規(guī)形式將當(dāng)前字符串正規(guī)化。
repeat 將字符串內(nèi)容重復(fù)指定次數(shù)后返回。
trim 去掉字符串開頭和結(jié)尾的空白字符。
1.1 charAt

作用:查找字符串中指定位置內(nèi)容
str.charAt(index) index : 查找的字符的下標(biāo)(大于等于0,若小于0則返回空字符串),若沒傳則表示1。

let a = "hello leo!"
a.charAt();  // "h"
a.charAt(1); // "e"
a.charAt(-1);// ""
1.2.indexOf和lastIndexOf

作用:查找指定字符串位置
indexOflastIndexOf相同點:
兩者接收的參數(shù)一致,沒有查到內(nèi)容,返回-1
indexOflastIndexOf不同點:
若查找到內(nèi)容,則indexOf返回第一次出現(xiàn)的索引lastIndexOf返回最后一次出現(xiàn)的索引

str.indexOf(value[, fromIndex])接收2個參數(shù):

value : 需要查找的字符串內(nèi)容;

fromIndex : 可選,開始查找的位置,默認(rèn)0;

let a = "hello leo";     
let b = a.indexOf("lo");  // 3
let c = a.indexOf("lo",4);// -1
let e = a.lastIndexOf("l");  // 6

一定要注意:

當(dāng)fromIndex > a.length,則fromIndex被視為a.length

let a = "hello leo";  
let b = a.indexOf("lo",99);// -1

當(dāng)fromIndex < 0,則fromIndex被視為0

let a = "hello leo";  
let b = a.indexOf("lo",-1);// 3

indexOflastIndexOf區(qū)分大小寫。

let a = "hello leo"; 
let b = a.indexOf("Lo"); // -1
1.3 concat

作用:連接字符串。
concat()接收任意個參數(shù)作為連接的字符串,返回一個合并后的新字符串。

let a = "hello";
let b = " leo ";
let c = "!"
a.concat(b,c); // "hello leo !"
1.4 split

作用:把字符串分割為字符串?dāng)?shù)組,并可以指定分隔符。
split(separator[,limit])可以接收2個參數(shù):

separator:必需,字符串或者正則表達(dá)式,作為分割的內(nèi)容;

limit:可選,作為指定返回的數(shù)組的最大長度;

separator"",則字符串會在每個字符之間分割;

let a = "How are you doing today?";
a.split();
// ["How are you doing today?"]
a.split("");
// ["H", "o", "w", " ", "a", "r", "e", " ", "y", "o", "u", " ", "d", "o", "i", "n", "g", " ", "t", "o", "d", "a", "y", "?"]
a.split(" ");
// ["How", "are", "you", "doing", "today?"]
a.split("",4);
// ["H", "o", "w", " "]
a.split(" ",4);
// ["How", "are", "you", "doing"]

使用其他分割符號:

let a = "ni,hao,a!";
a.split(","); // ["ni", "hao", "a!"]
1.5 slice

作用:提取并返回字符串的片斷。
slice([start,end]) 可以接收2個參數(shù):

start:要提取的片段的起始下標(biāo),若小于零,則從字符串尾部開始算起,如-1表示字符串最后一個字符,-2為倒數(shù)第二個字符等等。

end:要提取的片段的結(jié)束下標(biāo),若沒有傳入,則表示從start到字符串結(jié)尾,若為負(fù)數(shù)則從字符串尾部開始算起。

let a = "How are you doing today?";
a.slice();      // "How are you doing today?"
a.slice(1);     // "ow are you doing today?"
a.slice(-1);    // "?"
a.slice(1,5);   // "ow a"
a.slice(1,-1);  // "ow are you doing today"
a.slice(-2,-1); // "y"
2.字符串拓展(ES6) 2.1 includes(),startsWith(),endsWith()

在我們判斷字符串是否包含另一個字符串時,ES6之前,我們只有typeof方法,ES6之后我們又多了三種方法:

includes():返回布爾值,表示是否找到參數(shù)字符串

startsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的頭部

endsWith():返回布爾值,表示參數(shù)字符串是否在原字符串的尾部

let a = "hello leo";
a.startsWith("leo");   // false
a.endsWith("o");       // true
a.includes("lo");      // true

并且這三個方法都支持第二個參數(shù),表示起始搜索的位置。

let a = "hello leo";
a.startsWith("leo",1);   // false
a.endsWith("o",5);       // true
a.includes("lo",6);      // false

endsWith 是針對前 n 個字符,而其他兩個是針對從第n個位置直到結(jié)束。

2.2 repeat()

repeat方法返回一個新字符串,表示將原字符串重復(fù)n次。
基礎(chǔ)用法

"ab".repeat(3);        // "ababab"
"ab".repeat(0);        // ""

特殊用法:

參數(shù)為小數(shù),則取整

"ab".repeat(2.3);      // "abab"

參數(shù)為負(fù)數(shù)Infinity,則報錯

"ab".repeat(-1);       // RangeError
"ab".repeat(Infinity); // RangeError

參數(shù)為0到-1的小數(shù)NaN,則取0

"ab".repeat(-0.5);     // ""
"ab".repeat(NaN);      // ""

參數(shù)為字符串,則轉(zhuǎn)成數(shù)字

"ab".repeat("ab");     // ""
"ab".repeat("3");      // "ababab"
2.3 padStart(),padEnd()

用于將字符串頭部尾部補全長度,padStart()頭部補全padEnd()尾部補全
這兩個方法接收2個參數(shù),第一個指定字符串最小長度,第二個用于補全的字符串
基礎(chǔ)用法

"x".padStart(5, "ab");   // "ababx"
"x".padEnd(5, "ab");     // "xabab"

特殊用法:

原字符串長度,大于或等于指定最小長度,則返回原字符串。

"xyzabc".padStart(5, "ab"); // "xyzabc"

用來補全的字符串長度和原字符串長度之和,超過指定最小長度,則截去超出部分的補全字符串。

"ab".padStart(5,"012345"); // "012ab"

省略第二個參數(shù),則用空格補全。

"x".padStart(4);           // "    x"
"x".padEnd(4);             // "x    "
2.4 模版字符串

用于拼接字符串,ES6之前:

let a = "abc" + 
    "def" + 
    "ghi";

ES6之后:

let a = `
    abc
    def
    ghi
`

拼接變量:
反引號(`)中使用${}包裹變量或方法。

// ES6之前
let a = "abc" + v1 + "def";

// ES6之后
let a = `abc${v1}def`
3.字符串拓展(ES7)

用來為字符串填充特定字符串,并且都有兩個參數(shù):字符串目標(biāo)長度填充字段,第二個參數(shù)可選,默認(rèn)空格。

"es8".padStart(2);          // "es8"
"es8".padStart(5);          // "  es8"
"es8".padStart(6, "woof");  // "wooes8"
"es8".padStart(14, "wow");  // "wowwowwowwoes8"
"es8".padStart(7, "0");     // "0000es8"

"es8".padEnd(2);            // "es8"
"es8".padEnd(5);            // "es8  "
"es8".padEnd(6, "woof");    // "es8woo"
"es8".padEnd(14, "wow");    // "es8wowwowwowwo"
"es8".padEnd(7, "6");       // "es86666"

從上面結(jié)果來看,填充函數(shù)只有在字符長度小于目標(biāo)長度時才有效,若字符長度已經(jīng)等于或小于目標(biāo)長度時,填充字符不會起作用,而且目標(biāo)長度如果小于字符串本身長度時,字符串也不會做截斷處理,只會原樣輸出。

參考資料

MDN Text formatting

W3school JavaScript String 對象

本部分內(nèi)容到這結(jié)束

Author 王平安
E-mail pingan8787@qq.com
博 客 www.pingan8787.com
微 信 pingan8787
每日文章推薦 https://github.com/pingan8787...
JS小冊 js.pingan8787.com

歡迎關(guān)注微信公眾號【前端自習(xí)課】每天早晨,與您一起學(xué)習(xí)一篇優(yōu)秀的前端技術(shù)博文 .

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

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

相關(guān)文章

  • 重溫基礎(chǔ)】11.Map和Set對象

    摘要:本文是重溫基礎(chǔ)系列文章的第十一篇。返回一個布爾值,表示該值是否為的成員。使用回調(diào)函數(shù)遍歷每個成員。與數(shù)組相同,對每個成員執(zhí)行操作,且無返回值。 本文是 重溫基礎(chǔ) 系列文章的第十一篇。 今日感受:注意身體,生病花錢又難受。 系列目錄: 【復(fù)習(xí)資料】ES6/ES7/ES8/ES9資料整理(個人整理) 【重溫基礎(chǔ)】1.語法和數(shù)據(jù)類型 【重溫基礎(chǔ)】2.流程控制和錯誤處理 【重溫基礎(chǔ)】3....

    meteor199 評論0 收藏0
  • 重溫基礎(chǔ)】15.JS對象介紹

    摘要:構(gòu)造函數(shù)通常首字母大寫,用于區(qū)分普通函數(shù)。這種關(guān)系常被稱為原型鏈,它解釋了為何一個對象會擁有定義在其他對象中的屬性和方法。中所有的對象,都有一個屬性,指向?qū)嵗龑ο蟮臉?gòu)造函數(shù)原型由于是個非標(biāo)準(zhǔn)屬性,因此只有和兩個瀏覽器支持,標(biāo)準(zhǔn)方法是。 從這篇文章開始,復(fù)習(xí) MDN 中級教程 的內(nèi)容了,在初級教程中,我和大家分享了一些比較簡單基礎(chǔ)的知識點,并放在我的 【Cute-JavaScript】系...

    booster 評論0 收藏0
  • 重溫基礎(chǔ)】7.時間對象

    摘要:本文是重溫基礎(chǔ)系列文章的第七篇。系列目錄復(fù)習(xí)資料資料整理個人整理重溫基礎(chǔ)語法和數(shù)據(jù)類型重溫基礎(chǔ)流程控制和錯誤處理重溫基礎(chǔ)循環(huán)和迭代重溫基礎(chǔ)函數(shù)重溫基礎(chǔ)表達(dá)式和運算符重溫基礎(chǔ)數(shù)字本章節(jié)復(fù)習(xí)的是中的時間對象,一些處理的方法。 本文是 重溫基礎(chǔ) 系列文章的第七篇。今日感受:做好自律。 系列目錄: 【復(fù)習(xí)資料】ES6/ES7/ES8/ES9資料整理(個人整理) 【重溫基礎(chǔ)】1.語法和數(shù)據(jù)類型...

    YuboonaZhang 評論0 收藏0
  • 重溫基礎(chǔ)】5.表達(dá)式和運算符

    摘要:系列目錄復(fù)習(xí)資料資料整理個人整理重溫基礎(chǔ)語法和數(shù)據(jù)類型重溫基礎(chǔ)流程控制和錯誤處理重溫基礎(chǔ)循環(huán)和迭代重溫基礎(chǔ)函數(shù)本章節(jié)復(fù)習(xí)的是中的表達(dá)式和運算符,用好這些可以大大提高開發(fā)效率。 本文是 重溫基礎(chǔ) 系列文章的第五篇。今日感受:家的意義。 系列目錄: 【復(fù)習(xí)資料】ES6/ES7/ES8/ES9資料整理(個人整理) 【重溫基礎(chǔ)】1.語法和數(shù)據(jù)類型 【重溫基礎(chǔ)】2.流程控制和錯誤處理 【重溫基...

    馬忠志 評論0 收藏0
  • 重溫基礎(chǔ)】12.使用對象

    摘要:本文是重溫基礎(chǔ)系列文章的第十二篇。注意對象的名稱,對大小寫敏感。基礎(chǔ)用法第一個參數(shù)是目標(biāo)對象,后面參數(shù)都是源對象。用途遍歷對象屬性。用途將對象轉(zhuǎn)為真正的結(jié)構(gòu)。使用場景取出參數(shù)對象所有可遍歷屬性,拷貝到當(dāng)前對象中。類似方法合并兩個對象。 本文是 重溫基礎(chǔ) 系列文章的第十二篇。 今日感受:需要總結(jié)下2018。 這幾天,重重的感冒發(fā)燒,在家休息好幾天,傷···。 系列目錄: 【復(fù)習(xí)資料...

    garfileo 評論0 收藏0

發(fā)表評論

0條評論

Batkid

|高級講師

TA的文章

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