日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

WEB前端第二十五課——js字符串

 小仙女本仙人 2021-09-25

1.字符串嵌套

  字符串可以嵌套使用

    在單引號包裹的字符串內(nèi)部,應該使用雙引號進行嵌套

    在雙引號包裹的字符串內(nèi)部,應該使用單引號進行嵌套

  在 json解析的時候字符串需要單引號,因此推薦在各種情況都使用單引號的方式進行聲明

2.轉(zhuǎn)義字符,用特殊的符號來替代在字符串中,容易引起歧義的內(nèi)容

  \'   表示單引號

  \"  表示雙引號

  一個字符串一般寫在一行內(nèi),不要分成多行

  如果必須分成多行,可以采用反斜杠 “\” 作為連接符,或者將其分成多個字符串,通過拼接的方式進行組合

3.字符串長度

 ?、?測量字符串長度:length屬性,

    語法格式:字符串變量length

 ?、?字符索引:[]方法,

    在字符串后面接中括號,中括號內(nèi)寫數(shù)字,能夠訪問字符串中每一個字符

    代碼示例:

      var name=Franklin;

      var firstname=name[0];

    一次只能索引一個字符,如需索引多個,則使用加號(+)連接符多次索引

    索引從0開始,0表示第一個字符

 ?、?獲取指定位置字符:charAt()方法和 charCodeAt()方法,

    兩種方法均是獲取指定位置字符,不同的是charAt()返回的是具體的字符,而charCodeAt()返回的是字符對應的Unicode編碼

    代碼示例;

      var name=Franklin;

      var cat=name.charAt(0);

      var ccat=name.charCodeAt(0);

    var cat結(jié)果為“F”,而var ccat結(jié)果為“70”

    兩個重要的字符編碼,A——65,a——97,其他字母累加即可

    如果index是負數(shù),或者大于等于字符串長度的值,則 charCodeAt()返回的值為 NaN。

 ?、?字符串連接:concat()方法,

    將兩個或多個字符串拼接起來,組成一個新的字符串,用法與加號(+)有相同之處

    語法格式:var str=str1.concat(str2,str3,……);

4.轉(zhuǎn)義字符

  反斜杠 “\” 被稱作轉(zhuǎn)義字符

  轉(zhuǎn)義字符可以將特殊字符轉(zhuǎn)換為字符串字符,可以用于轉(zhuǎn)義撇號、換行、引號等特殊字符

  常見轉(zhuǎn)義符號:\' (單引號)、\" (雙引號)、\\ (反斜杠)、\n (換行)、\r (回車)、\t (制表符)、\b (退格)、\f (換頁符)

  \n、\r、<br/>區(qū)別

    \n,英文是 new line,表示使光標下移一格

    \r,英文是carriage return,表示使光標移到行首

    <br/>是瀏覽器換行

    總結(jié):\n \r表示源代碼換行(瀏覽器不解釋),<br/>表示瀏覽器文字換行

5.字符串對象

  JavaScript中提供了另外一種字符串的聲明方式,叫作字符串對象,使用 new關(guān)鍵字將字符串定義為一個對象

  語法示例:var newString=new  String('Franklin');

    var str1='frank’;  //(typeof  str1)返回值為 String

    var str2=new String('frank’);  //(typeof  str2)返回值為Object,String首字母必須大寫

  通常不要創(chuàng)建 string對象,它會拖慢程序執(zhí)行速度,并可能產(chǎn)生其他副作用

  字符串和字符串對象雖然效果相似,但它們是完全不同類型的數(shù)據(jù)

 6. 字符串屬性及方法

  substring,截取字符串

  substr,截取字符串(長度)

  slice,截取字符串

  indexOf,返回當前查找字符串的位置,如果沒有返回-1

  lastindexOf,倒過來查找

  trim,去掉字符串兩端的空格

  toUpperCase和toLowerCase,大小寫轉(zhuǎn)換

  localeCompare,比較兩個字符串大小

  match,返回一個指定字符串的數(shù)組

  search,返回位置

  replace,替換字符串

  split,字符串切割,返回數(shù)組

7.substring截取字符串

  通過指定開始和結(jié)束位置,對字符串變量進行截取

  語法:str . substring(index1, index2);

  第一個參數(shù)表示截取的開始位置(包含index1),第二個參數(shù)表示結(jié)束位置(不包含index2)

  結(jié)束位置理論上應該大于開始位置,如果第一個參數(shù)值大于第二個參數(shù)值,substring方法會自動調(diào)換兩個參數(shù)的位置

8.substr截取字符串

  通過指定開始截取的位置和截取的長度,對字符串變量進行截取

  語法:str . substr(num1, num2);

  substr方法的語法格式與substring方法很相似,但表達含義和用法差別很大,substr兩個參數(shù)不能互換

9.slice截取字符串

  通過指定開始和結(jié)束位置,對字符串變量進行截取

  語法:str . slice(num1,num2);

  slice的兩個參數(shù)不能互相調(diào)換位置,如果第一個參數(shù)大于第二個參數(shù),則返回結(jié)果為一個空字符串

 substring、substr、slice三個方法的第一個參數(shù)都表示截取開始的位置,如果省略第二個參數(shù),那么這三種方法都表示從開始位置截取一直到字符串本身結(jié)束

10.indexOf

  查找一個字符或字符串在另一個字符串中的位置

  語法:str . indexOf('sub’);

  字符串的查找是從源字符串開始處進行向后查找,且只針對首次出現(xiàn)的位置查找,返回值為所在位置的索引,如果查找失敗則返回 -1

11.lastindexOf

  查找一個字符或字符串在另一個字符串中的位置

  語法:str . lastindexOf('subStr’);

  字符串的查找是從原字符串的末尾處進行向前查找,如果查找失敗則返回 -1

12.indexOf和 lastindexOf還可以接受第二個參數(shù),用于表示開始查找的位置

  對于indexOf而言,表示從這個位置開始向后查找,語法:str. indexOf('subStr', num); 

  對于lastindexOf而言,表示從這個位置開始向前查找,語法:str.lastindexOf('subStr', num);

13.replace

  將查找到的首次出現(xiàn)的字符串替換成目標字符串,如果查找失敗則不發(fā)生替換,而是將原字符串完整拷貝出來

  語法:str . replace('oldStr','newStr');

  replace方法并不會對原本字符串產(chǎn)生任何影響,而是生成一個新的字符串

  replace方法只能替換首次出現(xiàn)的字符串,如果要替換多個, 需要依賴于正則表達式

14.trim

  去掉字符串兩端多余的空格,中間部位的空格不受影響,語法:str . trim();

  trim()方法并不會對原本的字符串產(chǎn)生任何影響,而是生成一個新的字符串

15.toUpperCase

  將字符串中的英文字母全部轉(zhuǎn)換成大寫字母

  語法:str .toUpperCase();

16.同LowerCase

  將字符串中的英文字母全部轉(zhuǎn)換成小寫字母

  語法:str .toLowerCase();

17.localeCompare

  根據(jù)本地的排序規(guī)則對兩個字符串進行大小比較

  語法:str1 .localCompare(str2);

  如果計算結(jié)果大于0則表示 str1大于 str2,如果計算結(jié)果等于0則表示 str1等于 str2,如果計算結(jié)果小于0則表示 str1小于 str2

  ECMAscript標準沒有規(guī)定如何進行本地特定的比較操作,只規(guī)定了該函數(shù)采用底層操作系統(tǒng)提供的排序規(guī)則,自定義比較方法也是可以的

18.match

  查找原字符串是否匹配某個子字符串,返回結(jié)果是匹配的子字符串信息數(shù)組,如果沒有找到則返回null

  返回的數(shù)組內(nèi)容包含:尋找的子字符串、子字符串位置索引、原字符串

  語法:str . match('substr');

  示例:var string= 'hello world!';

     string.match('hello');  //結(jié)果:['hello', index:0, input:'hello world!']

  match方法只能查找到匹配的第一個字符串,但通過正則表達式的方式可以查找到所有匹配的字符串

19.search

  與match方法相似,都是查找子字符串在指定字符串的位置信息

  不同的是search方法返回的結(jié)果為下標(索引),如果沒有找到匹配字符串則返回 -1

  語法:str . search('substr');

  示例:var string= 'hello world!';

     string.search('hello');  //結(jié)果:0

20.split

  根據(jù)指定的符號將字符串進行分割,分割后的所有子字符串整合成為一個數(shù)組返回

  如果無法分割,則只返回一個元素——字符串本身

  語法:str . split('symbol');

  示例:var string = 'see you soon!’

     string . split(' ');    //返回結(jié)果:['see’,'you’,'soon’]

  分隔符號不同,返回的數(shù)組就可能不同

21.JavaScript字符集

  js使用的是Unicode字符集,在JavaScript引擎內(nèi)部,所有字符都用Unicode表示

  js不僅以Unicode存儲字符,還允許在程序中直接使用Unicode編碼表示字符

  解析代碼時,js會自動識別一個字符是字面形式表示,還是Unicode形式表示,輸出給用的時候,所有字符都會轉(zhuǎn)成字面形式

  示例,var eg = '\u00A9';

     console.log(eg); //?

    \n(換行符),\u000A

    \'(單引號),\u0027

    \"(雙引號),\u0022

    \\(反斜杠),\u005C

22.字符串Base64編碼

  Base64本身是一種加密方式,可以將任意字符轉(zhuǎn)換成可打印字符,通常主要是為了簡化程序處理,不出現(xiàn)特殊字符,使用這種編碼方法

  JavaScript中為字符串提供了兩種有關(guān)Base64編碼的方法:

    btoa()  字符串或二進制值轉(zhuǎn)換為Base64編碼(加密)

    atob()  Base64編碼轉(zhuǎn)換為原來的編碼(解密)

  示例:

    var string = 'frank';

    console.log(btoa(string));  //ZnJhbms=

    var string = 'ZnJhbms=';

    console.log(atob(string));  //frank

  這兩種方法不適合非ASCII碼的字符,但可以通過中間插入一個轉(zhuǎn)碼環(huán)節(jié)的方式,使用這兩種方法將非ASCII碼字符與Base64進行轉(zhuǎn)換

  這兩種方法限于解析非中文代碼,解析中文(包括英文)的方法為:encodeURIComponent() (加密)、decodeURIcomponent() (解密)

  可以通過將中文加密后,再進行Base64加密,解密時操作順序相反

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多