String对象

一、String对象:字符串。用单引号('') 或双引号("")括起来的字符序列

(1)创建方式:

a、字面量:'' 或 “”

let  s1 = 'abcd'let  s2 = "蜗牛学苑" let s3 = "abcde'def'"  //注意单引号和双引号的嵌套(不能交叉)

b、使用构造函数:new String()

let s4 = new String('西安') //s4是一个字符串对象

(2)字符串的属性:length —— 表示字符串的长度(字符串中字符的个数)

字符串对象名.length

二、String对象的常用方法:字符串名.方法名(【实参】)

(1)charAt( index ):返回字符串中index位置上的字符。参数index代表索引值(下标),若没有找到则返回空

(2)charCodeAt(index):返回字符串中index位置上的字符的Unicode编码

         ASCII码:是美国做的字符编码 ('a':97.....)——— 只支持英文字符。表示一个字符使用1个字节(byte),即8个二进制位(bit)

         Unicode码:国际标准化组织做的一套编码。表示一个字符使用2个字节,即16个二进制位(bit) —— 支持中文

         ISO-8859-1码:不支持中文

         GBK:支持中文

         GB2312:支持简体中文

(3)concat(字符串):将两个及两个以上的字符串进行连接

(4)endsWith(字符串):判断字符串是否是以给定的子串结尾。是则返回true,不是则返回false

(5)indexOf(子串):返回子串在字符串中首次出现的位置(下标)。若返回-1,表示没有找到子串

(6)lastIndexOf(子串):返回子串在字符串中最后出现的位置(下标)

(7)includes(子串):查找字符串中是否包含指定的子串。若包含返回true,不包含返回false

(8)startsWith(子串):判断字符串是否以给定子串开头。是则返回true,不是则返回false

(9)split(分隔字符):将字符串分割成字符串数组

(10)replace(oldStr,newStr):在字符中查找oldStr第一次出现的位置,并用newStr替换它

(11)substr(start,length):截取字符串中从start开始的连续长度个字符。当参数length省略时,截取从start开始到串末尾的所有字符

(12)substring(start,end):截取start到end之间的子串,不包含end

(13)trim():去掉字符串两端的空白字符

(14)trimEnd():去掉字符串末尾的空白字符

(15)trimStart():去掉字符串前面的空白字符

(16)toLowerCase():将字符串中的所有字母转换为小写字母

(17)toUpperCase():将字符串中的所有字母转换为大写字母

(18)toString():将字符串对象转换成字符串

    <script>
        let s1 = new String('ABCD')
        let s2 = s1.concat('123456')
        let s3 = '123456'.concat(s2).concat('######')//将字符进行连接
        console.log(s3) //123456ABCD123456######

        let s4 = '西安--"大雁塔"'
        console.log(s4.charAt(1))//下标对应的字符串 安

        let s5 = 'aA 01'
        console.log(s5.charCodeAt(3))//unicode码  97 65 32 48

        let s6 = '12345678@qq.com'
        let flag = s6.endsWith('@qq.com')//判断结尾的字符串是否与给定的相同
        console.log(flag) //true

        let s7 = '1234abcd1234abcd'
        let index = s7.indexOf('ab')//返回ab在字符串中首次出现的位置的下标
        console.log(index) //4

        let last_index = s7.lastIndexOf('ab')//返回ab在字符串中最后出现的位置的下标
        console.log(last_index) //12

        let temp = s7.includes('abc')//查找s7中是否含有'abc'
        console.log(temp) //true

        let idCard = '610527199904183211'
        let id = idCard.startsWith('610')//查看字符串是否以指定的子串开头
        console.log(id) //true

        let s8 = idCard.substr(0,5)//从0下标开始后面5个连续的字符串
        console.log(s8) //61052
        let s9 = idCard.substr(5)//从5下标开始到结束的字符串
        console.log(s9) //7199904183211

        let s10 = idCard.substring(5,10)//从5下标开始到下标10的字符串
        console.log(s10) //71999

        let phone = '187—9168—5642'
        let arr = phone.split('—')//将字符串phone分割成数组
        console.log(arr) //['187', '9168', '5642']

        let id_str = '1,2,3,4,5,6,7,8,9'
        let a1 = id_str.split(',')//
        console.log(a1) //['1', '2', '3', '4', '5', '6', '7', '8', '9']
        console.log(parseInt(a1[0])) //1

        let p1 = '   未央区   '
        console.log(p1.length) //9
        p1 = p1.trim()//去掉字符串两边的空白字符
        console.log(p1.length) //3

        let p2 = '   未央区   '
        let p3 = p2.trimEnd()//去掉字符串末尾的空白字符
        console.log(p3.length) //6

        let p4 = '   未央区   '
        let p5 = p4.trimStart()//去掉字符串前面的空白字符
        console.log(p5.length) //6

        //toLowerCase 将所有字母转换为小写字母
        //toUpperCase 将所有字母转换为大写字母

        let str = new String('懒羊羊')
        console.log(str) //String {'懒羊羊'}
        console.log(str.toString()) //懒羊羊

        //将字符串对象转换为原始值
        console.log(str.valueOf()) //懒羊羊
    </script>

三、字符串的不可变性:指当一个字符串被定义后,它的内容是不变的。虽然通过调用相关函数看似改变了串的内容,实际是在内存中新开辟了一个空间存放新的串

四、练习

1、猜数字游戏。使程序随机生成一个1~10之间的数字,并让用户输入一个数字,判断这两个数的大小,如果用户输入的数字大于随机数,那么提示“你猜大了”,如果用户输入的数字小于随机数,则提示“你猜小了”,如果两个数字相等,就提示“恭喜你,猜对了”,结束程序

    <script>
        /*
        1、猜数字游戏。使程序随机生成一个1~10之间的数字,并让用户输入一个数字,判断这两个数的大小,如果用户输入的数字大于随机数,那么提示“你猜大了”,如果用户输入的数字小于随机数,则提示“你猜小了”,如果两个数字相等,就提示“恭喜你,猜对了”,结束程序
        */
       let num1 = Math.trunc((Math.random() * 10 )+ 1)
       let num2
       while (num2 != num1) {
       num2 = +prompt('请输入数组(1~10)')
       if (num2 > 10 || num2 < 1) {
        console.log('请看清要求')
        continue
       }
        if (num2 > num1) {
            console.log('你猜大了')
        } else if(num2 < num1){
            console.log('你猜小了')
        }else {
            console.log('恭喜你,猜对了。嫩真棒')
        }
       }
    </script>

2、在对象中保存每个字符即该字符出现的次数

    <script>
        //在对象中保存每个字符即该字符出现的次数
        let str = 'uwgsjhgiuebagjsgfukayagbaygkujbesgug'
 
        let k = {}

        for(let i = 0;i < str.length;i++){
            let chars = str.charAt(i)
            if (k[chars]) {
                k[chars]++
            } else {
                k[chars] = 1
            }
        }
        // console.log(k)

        let max = 0
        let ch = ''
        for(let t in k){ //吧k的值赋给t
            if (k[t] > max) {
                max = k[t]
                ch = t
            }
        }
        console.log(`出现次数最多的字母是${ch}:${max}`)//出现次数最多的字母是g:8
    </script>
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值