<acronym id="indot"><dfn id="indot"></dfn></acronym>
<span id="indot"></span>

<bdo id="indot"><meter id="indot"></meter></bdo>
<label id="indot"><samp id="indot"></samp></label>
<label id="indot"><xmp id="indot">
  • <span id="indot"><table id="indot"></table></span>
    <center id="indot"><optgroup id="indot"></optgroup></center>
  • <bdo id="indot"><meter id="indot"></meter></bdo>
      當前位置:首頁 > javascript > 正文內容

      js字符串總結

      hxing6412年前 (2024-01-03)javascript2571

      ES5和字符串

      一、ES5的語法

      js在產生的時候,年代比較早,當時的web需求比較少,所以剛開始的js功能比較少,語法沒有特別嚴謹。隨著時代的發展和web應用的普及,js需要更多的功能,以及更嚴謹的語法,所以,js會有版本的升級。第一版的js是ECMA一開始統一了標準以后的版本。我們現在的所使用的語法,大多是ECMAScript版本3的語法,簡稱es3。到目前為止,已經有了es7,8,9,甚至es10 的版本了。近幾年,基本每年都會有新的版本更新。

      每個版本的更新,都需要瀏覽器支持才能運行,但瀏覽器不會在js更新之后,立馬更新。所以有的版本出來之后,需要在很長時間之后,瀏覽器才會兼容他。到目前為止,我們公認,es5是兼容性最好的版本。

      es5比起我們所正在使用的es3,語法沒有什么變化,增加了一個嚴格模式,還有一些數組的方法。

      1、嚴格模式

      1.1、概念

      由于js的作用域和隱式聲明變量等語法會造成很多預想不到的錯誤,所以ES5中新增了一個嚴格模式的語法,用于嚴格規范代碼的書寫。


      1.2、語法

      使用語法:

      "use strict";


      使用說明:

      要放在代碼的最前面,也就是在script標簽中的第一行或者某個函數中的第一行,否則會失效

      嚴格模式可以規范當前script標簽或者當前函數中的代碼,不能規范別的script標簽中的代碼和別的函數


      1.3、作用

      不允許隱式聲明變量

      禁止函數中的形參重名

      禁止函數中的this代表window

      1.4、好處

      可以讓代碼更加規范

      可以讓代碼運行起來更快,提高運行效率

      二、字符串

      1、字符串的重新認識

      字符串定義:

      var str = '';
      var str = "";


      1.1、字符串長度

      字符串中字符的個數:字符串.length


      1.2、字符串取下標

      字符串中獲取某個字符的時候,可以根據下標來獲取:


      var str = "abcdef";
      var s = str[1]
      console.log(s) // 'b'
      var s1 = str[0] 
      console.log(s1) // 'a'


      所以字符串也是可以進行遍歷的:


      var str = "abcdef";
      for(var i=0;i<str.length;i++){
          console.log(str[i],i)
      }


      1.3、字符串只讀

      那字符串是否也可以像數組一樣,通過下標更改其中的某個字符呢?


      var str = 'abcdef';
      str[str.length] = 'g'
      str[0] = 'g'
      console.log(str) // abcdef


      操作后,字符串并沒有新增和更改。


      因為字符串是只讀數據,只能讀,不能增刪改。


      字符串可以進行比較,我們在前面的時候,有過這樣的比較:


      console.log('12'>'5') // false
      console.log('12'<'5') // true


      字符串可以比較,但是規則跟數字比較是不一樣的。


      字符串比較的規則是逐字符進行比較,大小由阿斯克碼來決定。


      2、阿斯克碼

      2.1、概念

      計算機內部只能識別2進制數據,不能識別字母等字符。

      為了能讓計算機識別字符,科學家制定了一個對照表,當輸入一段2進制指令的時候,就能顯示成某個字符。

      這個對照表叫做阿斯克碼表,其中包含了128個常用字符跟2進制的對照關系。

      通過阿斯克碼表,我們可以得出一些字符串比較的規律:


      字母比數字大

      小寫字母比大寫字母大

      字母越靠后越大

      2.2、字符串比較

      字符串能比較大小,中文漢字也是字符串,中文漢字也能比較大?。?/span>


      console.log('我'>'你') // true

      console.log('你'>'我') // false

      中文漢字的大小由unicode來決定。


      阿斯克碼總共128個,包含符號、大小寫英文字母、數字。阿斯克碼是由美國人創建的,所以對于英文的支持非常好。后來隨著計算機的普及,各個國家在使用計算機的時候,沒辦法使用本國文字,這樣用起來非常困難。所以眾多國家的科學家一起制定了一個更大的對照表,包含各個國家的文字符號,所以稱之為萬國碼,也叫作unicode。


      其實unicode就是更大的阿斯克碼。


      3、字符串方法

      charCodeAt - 根據指定下標獲取對應的字符的阿斯克碼

      var str = 'abcdef';
      // 獲取下標為3的字符的阿斯克碼
      var res = str.charCodeAt(0); // 參數為指定的下標
      console.log(res); // 97


      String.fromCharCode - 根據指定的阿斯克碼得到對應的字符

      // 獲取98對應的字符
      var res = String.fromCharCode(98); // 參數為指定的阿斯克碼
      console.log(res); // b


      indexOf - 查找字符或子字符串在大字符串中第一次出現的位置

      var str = 'i love you';
      // 找到o字符在str中第一次出現的位置
      var s = str.indexOf('o'); // 參數為要查找的字符
      console.log(s); // 3
      var s = str.indexOf('o',4); // 參數2為開始查找的下標
      console.log(s) // 8
      var s = str.indexOf('a') // 查找a字符在字符串中第一次出現的下標
      console.log(s) // -1 - 找不到就返回-1


      lastIndexOf - 查找字符在字符串中最后一次出現的下標

      var str = 'i love you';
      // 找到o字符在str中最后一次出現的位置
      var s = str.lastIndexOf('o');
      console.log(s); // 8
      var s = str.lastIndexOf('o',7) // 將下標7當做字符串末尾,查找字符o在字符串中最后一次出現的下標
      console.log(s) // 3
      var s = str.lastIndexOf('a')
      console.log(s) // -1 - 找不到就返回-1


      slice - 截取字符串

      var str = 'abcdef';
      // 從下標1截取到下標4
      var s = str.slice(1,4) // 參數1是開始截取的下標,參數2是截取的結束下標
      console.log(s) // bcd - 結果中不包含結束下標對應的字符
      var s = str.slice(1) // 省略第二個參數,默認能截取到字符串末尾
      console.log(s) // bcdef
      var s = str.slice(-3,-1) // 下標可以使用負數表示,-3表示倒數第3個字符,-1表示倒數第1個字符
      console.log(s) // def
      var s = str.slice(-1,-3) // 如果開始下標比結束下標大,會截取到空
      console.log(s) // ''


      split - 將字符串使用指定的分隔符分割為數組

      var str = 'a-b-c-d';
      var arr = str.split('-') // 參數為分隔符,使用-將字符串分割為一個數組
      console.log(arr) // ['a','b','c','d']
      var arr = str.split('-',3) // 參數2表示數組中要保留前幾個元素
      console.log(arr) // ['a','b','c']
      var str = 'abcd';
      var arr = str.split() // 省略了分隔符,默認就不分割,將整個字符串當做一個元素放在數組中
      console.log(arr) // ['abcd']
      var arr = str.split('')
      console.log(arr) // ["a", "b", "c", "d"]


      replace - 使用新字符串將字符串中某一部分替換掉

      var str = '你的頭發還好嗎?';
      str = str.replace('頭發','眉毛') // 參數1是被替換的字符串中的部分,參數2是新內容
      console.log(str) // '你的眉毛還好嗎?'
      str = str.replace('','哈哈') // 參數1為空,就會將新內容添加到原字符串的最前面
      console.log(str) // '哈哈你的眉毛還好嗎?'
      trim - 去除字符串兩端空白
      var str = '    aaa          ';
      str = str.trim()
      console.log(str) // 'aaa' - 左右兩端的空白被去掉了
      str = str.trimLeft() // 去除左邊的空白
      console.log(str) // 'aaa          '
      str = str.trimRight() // 去除右邊的空白
      console.log(str) // '    aaa'


      toUpperCase - 將字符串中字母轉為大寫

      var str = 'i love you';
      str = str.toUpperCase()
      console.log(str) // 'I LOVE YOU'
      toLowerCase - 將字符串中字母轉為小寫
      var str = 'I LOVE YOU';
      str = str.toLowerCase()
      console.log(str) // 'i love you'


      substr - 截取字符串

      var str = 'abcdef';
      str = str.substr(1,3) // 參數1是開始截取的下標,參數2是截取的字符串長度
      console.log(str) // bcd
      str = str.substr(1) // 省略參數2默認截取到字符串末尾
      console.log(str) // bcdef
      str = str.substr(-4,2) // 開始截取的下標可以用負數表示
      console.log(str) // 'cd'
      str = str.substr(1,20) // 長度超出最大下標,就相當于省略了參數2
      console.log(str) // bcdef


      substring - 截取字符串

      var str = 'abcdef'
      str = str.substring(1,4) // 參數1是開始截取的下標,參數2是結束下標
      console.log(str) // bcd - 結果不包含結束下標對應的字符
      str = str.substring(1) // 省略參數2,默認截取到末尾
      console.log(str) // bcdef
      str = str.substring(1,1) // 開始下標和結束下標相等就截取到空字符串
      console.log(str) // ''
      str = str.substring(4,1) // 開始下標大于結束下標,就先交換兩個參數位置,然后再截取
      console.log(str) // 'bcd'
      str = str.substring(-5,4) // 開始下標或結束下標是負數,就先替換為0,然后開始截取
      console.log(str) // abcd


      startsWith - 判斷字符串是否以某個字符或小字符串開頭

      var str = 'abcdef'
      var bool1 = str.startsWith('a') // true
      var bool2 = str.startsWith('ab') // true
      var bool3 = str.startsWith('aa') // false


      endsWith - 判斷字符串是否以某個字符或小字符串結尾

      var str = 'abcdef'
      var bool1 = str.endsWith ('f') // true
      var bool2 = str.endsWith ('ef') // true
      var bool3 = str.endsWith ('ff') // false


      includes - 判斷字符串中是否包含某個字符

      var str = 'abcdef'
      var bool1 = str.endsWith ('cd') // true
      var bool2 = str.endsWith ('f') // true
      var bool3 = str.endsWith ('acd') // false



      掃描二維碼推送至手機訪問。

      版權聲明:本文由星星博客發布,如需轉載請注明出處。

      本文鏈接:http://www.7811333.com/?id=499

      分享給朋友:

      “js字符串總結 ” 的相關文章

      JavaScript中的call、bind和apply方法深度解析

      JavaScript是一種動態的、強大的編程語言,它的靈活性源于其獨特的函數調用方式。在JavaScript中,我們常常會遇到三個非常重要的函數方法:call、bind和apply。這些方法都是用來改變函數運行時this的指向的。理解它們的工作原理和使用場景,對于我們編寫高質量的Java...

      7個Js async/await高級用法

      JavaScript的異步編程已經從回調(Callback)演進到Promise,再到如今廣泛使用的async/await語法。后者不僅讓異步代碼更加簡潔,而且更貼近同步代碼的邏輯與結構,大大增強了代碼的可讀性與可維護性。在掌握了基礎用法之后,下面將介紹一些高級用法,以便充分利用async/awai...

      JS數組常用方法

      JS數組常用方法

      JS數組常用方法:1.數組的復制和填充批量復制方法 copyWithin(),以及填充數組方法fill()。這兩個方法的函數簽名類似,都需要指定既有數組實例上的一個范圍,包含開始索引,不包含結束索引。使用這個方法不會改變數組的大小。 1.1.fill()方法使用fill()方法可以向一個已...

      微信小程序如何下載外部文件

      小程序下載文件主要是通過轉發文件到聊天進行轉存,以下為具體實現代碼,可以直接拿去用,傳入下載的url:const download = (url) => {   var that = this...

      typescript 中 omit 的理解

      在 TypeScript 中,Omit 是一種非常有用的工具類型,它可以用于創建一個新的類型,這個新類型是從現有類型中排除了指定的屬性后得到的。如果你想要處理一個對象但又不需要包含某些屬性,那么 Omit 可以幫助你快速地創建一個新的類型。 比如說,...

      微前端使用: qiankun

      微前端使用: qiankun

      一、qiankun使用場景1. 簡介qiankun是在single-spa的基礎上實現的,可以保證各個項目獨立使用,也可以集成使用。各系統之間不受技術棧的限制,集成使用也能保證各樣式和全局變量的隔離。模塊的插拔式使用,當公司項目集是一個大系統下包含多個子系統或者模塊時,可以采用這種方式動態部署各個系...

      發表評論

      訪客

      ◎歡迎參與討論,請在這里發表您的看法和觀點。
      主站蜘蛛池模板: 色婷婷狠狠久久综合五月| 91精品国产91久久综合| 少妇熟女久久综合网色欲| 天天综合色天天综合| 色综合久久中文字幕综合网| 狠狠色狠狠色综合日日五| 色综合久久久久久久| 欧洲97色综合成人网| 天啪天天久久天天综合啪| 亚洲色偷偷狠狠综合网| 久久狠狠爱亚洲综合影院| 亚洲伊人成无码综合网| 亚洲国产天堂久久综合网站 | 狠狠狠色丁香婷婷综合久久五月| 久久综合精品国产二区无码| 亚洲婷婷第一狠人综合精品| 婷婷久久久五月综合色| 国产成人精品综合久久久久| 久久综合久综合久久鬼色| 亚洲综合伊人久久大杳蕉| 色综合色国产热无码一| 偷自拍视频区综合视频区| 综合久久给合久久狠狠狠97色| 色综合网站国产麻豆| 久久综合精品视频| 伊人久久大香线蕉综合电影| 噜噜综合亚洲AV中文无码| 国产成人综合在线观看网站| 亚洲综合另类小说色区| 激情五月综合综合久久69| 色婷婷综合久久久久中文字幕| 激情综合亚洲色婷婷五月| 久久久久综合网久久| 青青青伊人色综合久久| 伊人亚洲综合青草青草久热| 国产成人亚综合91精品首页| 在线综合亚洲欧洲综合网站| 色欲色香天天天综合网站| 国产AV综合影院| 久久婷婷五夜综合色频| 天天影视综合网色综合国产|