js分享06-字符串方法(小白必看)

157 阅读5分钟

严格模式

  • JS 是一个相对不是很严谨的语言, 在开发的时候一些代码也不是很严格, 严格模式就是对开发的时候写的代码做了一些要求

如何开启严格模式

  • 要开启严格模式, 直接在代码最开始的位置写上字符串 'use strict'

严格模式的规则

  1. 声明变量必须有 var 关键字
  2. 函数的形参不可以重复

字符串

创建字符串(了解)

  • 字面量
  • 构造函数创建
var str1 = "hello";
var str2 = new String("hello");

ASCII 字符集

  • 计算机只能存储二进制数据 0101010
  • 我们的 大写字母; 小写字母; 符号 之类的内容也是由二进制数字组成的
  • 或者说 我们的字母符号这些东西写都有一个对应的编号, 然后计算机存储的时候是存储的这些编号,不过我们看到的时候, 是通过这些编号解析成我们看到的内容
  • 所以我们计算机存储的字母符号之类的并不是存储了这个字母, 而是存储了这个字母对应的编号, 然后给我们看到的时候是通过这个编号找到了对应的字母给我们看

unicode 编码

  • ASCII 只有 128 个字符的编码结构, 这是因为他出现的比较早, 而且是美国发明的, 所以在早期这些内容完全足够
  • 但是这个世界要存储的东西就不够, 比如我们的汉字, 所以就出现了 unicode 编码, 也叫(万国码, 统一码)
  • unicode 和 ASCII 一样的对照表, 只不过存的东西特别多, 基本包含了世界上大部分国家的文字, 所以我们的文字在存储的时候 都是按照 unicode 编码转换成了数字进行存储
  • 我们的 UTF-8 就是一种 8 位的 unicode 字符集

字符串的常用方法

        var s = 'happy EVERYDAY'
        var s1 = '       jsjiofsfj          ihfoewoi        '

charAt

  • 语法: 变量.charAt(索引)
  • 作用: 找到字符串中指定索引位置的内容然后返回
  • 返回值: 字符串中指定索引位置的内容
        console.log(s.charAt(6));//E

charCodeAt

  • 语法: 变量.charCodeAt(索引)
  • 作用: 找到字符串中指定索引位置的 unicode 编码然后返回
  • 返回值: 字符串中指定索引位置的 unicode 编码
        console.log(s.charCodeAt(2));//112

toLowerCase

  • 语法: 变量.toLowerCase()
  • 作用: 将字符串转换为小写
  • 返回值: 转小写后的字符串
        console.log(s.toLowerCase());//happy everyday

toUpperCase

  • 语法: 变量.toUpperCase()
  • 作用: 将字符串转换为大写
  • 返回值: 转大写后的字符串
        console.log(s.toUpperCase());//HAPPY EVERYDAY

substr

  • 语法: 变量.substr(开始索引, 截取多少个)
  • 作用: 截取字符串
  • 返回值: 截取出来的字符串
        console.log(s.substr(0, 5));//happy

substring

  • 语法: 变量.substr(开始索引, 结束索引)
  • 作用: 截取字符串
  • 返回值: 截取出来的字符串
  • 注意: 参数包前不包后
        console.log(s.substring(0, 7));//happy E

slice

  • 语法: 变量.slice(开始索引, 结束索引)
  • 作用: 截取字符串
  • 返回值: 截取出来的字符串
  • 注意: 参数包前不包后
        console.log(s.slice(2, -5));//ppy EVE

concat

  • 语法: 变量.concat(字符串1, 字符串2)
  • 作用: 拼接字符串
  • 返回值: 拼接好的字符串
        console.log(s.concat('!@#', 'asd', '+-*/'))//happy EVERYDAY!@#asd+-*/

indexOf

  • 语法: 变量.indexOf(查找的字符, 开始索引)
  • 作用: 查找当前字符串中是否包含指定字符
  • 返回值: 找到返回第一次出现的首字母索引位置, 找不到就返回 -1

lastIndexOf

  • 语法: 变量.lastIndexOf(查找的字符, 开始索引)
  • 作用: 查找当前字符串中是否包含指定字符 (从后往前)
  • 返回值: 找到返回第一次出现的首字母索引位置, 找不到就返回 -1

split

  • 语法: 变量.split('分隔符')
  • 作用: 把字符串按照分隔符分开为几段内容
  • 返回值: 将字符串分割后以数组的形式分隔

trim

  • 语法: 变量.trim()
  • 作用: 把字符串左右空格去除
  • 返回值: 去除空格后的字符串
        console.log(s1.trim());//jsjiofsfj          ihfoewoi

trimStart(trimLeft)

   -   语法: `变量.trimStart()`
  • 语法: 变量.trimLeft()
  • 作用: 把字符串左边空格去除
  • 返回值: 去除左边空格后的字符串
        console.log(s1.trimStart());//jsjiofsfj          ihfoewoi        
        console.log(s1.trimLeft());//jsjiofsfj          ihfoewoi        

trimEnd(trimRight)

  • 语法: 变量.trimEnd()
  • 语法: 变量.trimRight()
  • 作用: 把字符串右边空格去除
  • 返回值: 去除右边空格后的字符串
        console.log(s1.trimEnd());//       jsjiofsfj          ihfoewoi
        console.log(s1.trimRight());//       jsjiofsfj          ihfoewoi

includes

  • 语法: 字符串.includes(字符串片段)
  • 作用: 该字符串中是否包含该字符串片段
  • 返回值: 一个布尔值
    • true: 包含
    • false: 不包含
        console.log(s.includes('geh'));//false
        console.log(s.includes('ppy'));//true

startsWith

  • 语法: 字符串.startsWith(字符串片段)
  • 作用: 判断该字符串是否以该字符串片段开头
  • 返回值: 一个布尔值
    • true: 是开头
    • false: 不是开头
        console.log(s.includes('geh'));//false
        console.log(s.includes('hap'));//true

endsWith

  • 语法: 字符串.endsWith(字符串片段)
  • 作用: 判断该字符串是否以该字符串片段结尾
  • 返回值: 一个布尔值
    • true: 是结尾
    • false: 不是结尾
        console.log(s.includes('geh'));//false
        console.log(s.includes('DAY'));//true

replace

  • 语法: 变量/字符串.replace('查找的字符串','要替换的内容')
  • 作用: 去字符串中找到一个指定的内容,然后将新的内容替换
  • 返回值: 修改好的字符串
console.log(s.replace('DAY','day'));//happy EVERYday