字符串

字符串概述

            字符串就是一串字符,由双(单)引号括起来。
            字符串是 JavaScript 的一种数据类型。
            因为在对应的js里面字符串属于一个值类型(值类型是常量 常量是不能变)。
            字符串是不能改变的。结合昨天提到的数据结构里面串也是一个存储结构,
            作为存储结构增删改查的方法(字符串的增删改查 不能针对于本身 而是返回一个新的字符串)

字符串的定义

            方式一 值类型赋值(推荐)

                var str = 'hello world'

            方式二 以new关键词声明(引用了对应的值的地址)  

                var str = new String('abc')

            ES6新增 字符串模板

                var a = 'jack'
                var str = `hello string ${a}` //esc下面的这个键 解析${} 以变量来解析
                console.log(str);

        new String() 和 String() 区别

            new String是构建一个String对象 (引用数据类型 有地址指向的)
            String 单纯的将对应的传进入的参数转为string类型(值类型)    

字符串的属性

            length属性 返回字符串的长度(包含空格及换行)

                var str = 's j'
                console.log(str.length);

            通过下标来获取对应的字符串

                var str = 'jskg'
                console.log(str[0]);

字符串的方法(返回新的字符串)

            通过下标找字符串(char 字符)

            charAt(下标)
                var str = 'abc'
                str.charAt(0) //返回的是a
 
            charCodeAt (ACSII码
                var str = 'abc'
                str.charCodeAt(0) //返回的是97

            通过字符串找下标(找不到返回-1 找的到返回对应的下标值 number(第一次出现的))

            indexOf
                var str = 'abc'
                console.log(str.indexOf('ab')) //返回的下标0
                console.log(str.indexOf('d')) //找不到返回-1
                //可以有俩个参数 第一个参数为 对应需要查询的字符串 第二个参数为 开始查找的下标
                console.log(str.indexOf('b',2)) //从下标2开始找 找第一个出现b的位置 返回-1
                var str = 'abbbccde'
                console.log(str.indexOf('b',2)) //从下标2开始找 找第一个出现b的位置 2
 
            lastIndexOf
                console.log(str.lastIndexOf('b')) //3
                console.log(str.lastIndexOf('b',0)) //-1 从0的位置往前找
                console.log(str.lastIndexOf('b',4)) //3
                //也就是说默认的情况下 对应的后面的下标可以省略 str.length-1

           search 方法(和indexOf一样 支持正则表达式)

                var str = 'abc'
                console.log(str.search(/ab/)) //0 /ab/正则表达式
                console.log(str.search(/ab/,0)) //从0的位置开始找 匹配ab的内容

            静态方法(通过构造方法名直接调用的叫做静态方法 他是对应的static修饰的)

            fromCharCode 将对应的ascii码转为字符串
                var str = String.fromCharCode(97) //返回的是一个字符串
                console.log(str) //a  
 
            concat 将多个字符串转为连接成一个字符串返回
                var str = 'hello'.concat('world')
                console.log(str)//hello world  

            支持正则的方法(4个)

            search 查找(找到返回下标 没找到返回-1
                var str = 'abcdefabcde'
                var index = str.search(/ab/gi)//返回第一次出现的位置  g表示进行全局匹配,i表示匹配的时候忽略大小写  
 
            replace 替换 (将找到的第一个字符串替换成一个新的字符串)
                var str = 'abca'
                var str1 = str.replace('a','hello')//将a替换成hello
                console.log(str1)
 
            split 分割(返回数组)
                //分割 成为一个数组 split 数组变成字符串 join (默认以,)
                var str = '1,2,3'
                //默认不是以,作为分割 默认不分割 直接填入到数组
                console.log(str.split()); //['1,2,3']
                console.log(str.split(',')); //['1','2','3']
 
            match 匹配(返回数组)
                //match 返回一个数组 (匹配的内容)
                var str = "abcacc"
                //默认只找第一个匹配的 加入到数组
                var arr = str.match('a')
                console.log(arr);

            截取的方法

                //substring(开始的下标,结束的下标) 不包含结束的下标
                console.log(str.substring(1));//bcdef
                console.log(str.substring(1,3));//截取不包含最后一个下标 (默认不填str.length)bc
 
                // substr(开始的下标,截取的个数)
                console.log(str.substr(1));//默认的情况是截取到最后 bcdef
                console.log(str.substr(1,3));//从下标1开始截取 截取个数为3个 bcd

            转大写 (toUpperCase)

                var str = 'abcA'
                console.log(str.toUpperCase())

            转小写 (toLowercase)

                var str = 'abcA'
                console.log(str.toLowerCase())

        Math类(数学类 一起和数学计算相关的方法都在这个里面且这个方法都是静态方法)

            属性    PI 3.1415926  E 科学计算法
            方法    random 随机数  round 四舍五入 floor 向下取整 ceil 向上取整
                       pow 取幂次方 sqrt 开平方 abs 取绝对值 max 最大值 min 最小值
posted @ 2022-08-01 20:22  一对7  阅读(53)  评论(0编辑  收藏  举报