JavaScript中的3个包装类以及字符串的常用方法

一、3个包装类

通过这三个包装类可以基本数据类型转换为对象

String()

-可以将基本数据类型字符串转换为String对象

Number()

-可以将基本数据类型数字转换为Number对象

Boolean()

-可以将基本数据类型布尔值转换为Boolean对象

注意:

我们在实际应用中不会使用基本数据类型的对象,如果使用基本数据类型的对象,在做一些比较时,会带来一些不可预估的结果

代码演示

    <script>
       //创建一个Number类型的对象
       var num=new Number(3);
       var str=new String("hello");
       var bool=new Boolean(true)

       num.hello="abc你好"
       //console.log(typeof num)//object
       console.log(num.hello)//abc你好

       /* 
       方法和属性只能添加给对象,不能添加给基本数据类型
         当我们对一些基本数据类型的值去调用属性和方法时,
           浏览器会临时使用包装类将其转换为对象,然后再调用对象的属性跟方法
           调用完以后,再将其转换为基本数据类型
       */
       var s=123
       s=s.toString()
       console.log(s,typeof s);
    </script>

二、字符串方法

常用方法

1 charAt/charCodeAt


charAt根据索引获取指定位置的字符
charCodeAt不仅仅获取字符,它获取的是字符对应的Unicode编码值(ASC ll码值)10进制
参数:索引
返回:字符或者对应的编码


2 indexOf / lastIndexOf


可以获取字符串在字符串中第一次或者最后一次出现位置的索引,若有这个字符返回值大于等于0,不存在为-1
indexOf:
返回 :String 对象内第一次出现子字符串的字符位置。
参数 strObj 必选项。String 对象或文字。
lastindexOf:
返回 :String 对象中子字符串最后出现的位置。
参数:strObj必选项。String 对象或文字。


3 slice


str.slice(n,m)从索引n开始找到索引M处(不包含M),把找到的字符当作字符串返回, 支持负数索引,用字符串的总长度+负数索引做运算
参数:slice(start, end)
返回:一个新的字符串


4 substring


和slice语法一样,唯一的区别在于:slice 支持负数索引,而substring不支持负数索引
参数:substring(start,stop)
返回:一个新的字符串


5 substr


str.substr(n,m)从索引n开始截取m个字符 m是截取的个数,和substring 一样,第二个参数不传。截取到末尾,但是它支持第一个索引为负数,负数也是总长度+负数索引
参数:substr(start,length)
返回值:一个新的字符串


6 toUpperCase/toLowerCase


实现字母的大小写转换 toUpperCase 小写转大写 toLowerCase 大写转小写
toUpperCase()
返回值:一个新的字符串
参数:stringObject.toUpperCase()
toLowerCase()
返回值:返回转换后字符的小写形式,如果有的话;否则返回字符本身
参数:char toLowerCase(char ch)


7 split


和数组中的join 相对应,数组中的join是吧数组每一项按照指定的连接符变为字符串,而split是把字符串按照指定的分隔符拆分成数组中的每一项
参数:str.split(str="", num=string.count(str))
返回值:返回分割后的字符串列表。


8 replace


作用:替换字符串中的原有字符 参数:原有字符,要替换新字符 返回:替换后的字符串
返回值:一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

代码演示

   <script>    
       var str="hello"  
        /* 在底层字符串是以字符数组的形式保存的 ["h","e","l","l","o"] */
        /*1:length属性
           -可以获取字符串的长度 */
            console.log(str.length);//5         
        /*2:charAt()
           -可以返回字符串中指定位置的字符,根据索引获取指定的字符 */
           var res=str.charAt(0);//h
           console.log(str[0]);//h
       /* 3:charCodeAt()
           -获取指定位置字符的字符编码(Unicode编码) */
          var res=str.charCodeAt(0);//104
        /* 4:formCharCode()
           -可以根据字符编码去获取字符
           -通过构造函数调的,String.fromCharCode(); */
          res=String.fromCharCode(104);//h
        /*5: concat()
           -可以用来连接两个或者多个字符串
           -作用和+一样 */
          res=str.concat(",你好",",再见")//hello,你好,再见
        /*6: indexof()
           -该方法可以检索一个字符串中是否含有指定内容
           -如果字符串中含有该内容,则会返回其第一次出现的索引
             如果没有找到指定的内容,则返回-1
           -可以指定第二个参数,指定开始查找的位置 */
          res=str.indexOf("p") //-1   
       /* 7: lastIndexOf()
           -该方法的用法和indexOf()一样,不同的是lastIndexOf是从后往前找 */
           res=str.lastIndexOf("l")//3
        /*8: slice()
           -可以从字符串中截取指定的内容 
           -不会影响原字符串,而是将截取到的内容返回
           -参数:
              第一个,开始位置的索引(包括开始位置)
              第二个,结束位置的索引(不包括结束的位置)
                    -如果省略第二个参数,则会截取后边所有的
              -也可以传递一个负数作为参数,负数的话将会从后边计算 */
           res=str.slice(0,2)//he
       /*9: substring()
             -用来截取一个字符串,跟slice()类似
             -参数:
              第一个,开始位置的索引(包括开始位置)
              第二个,结束位置的索引(不包括结束的位置)
                    -如果省略第二个参数,则会截取后边所有的
              -跟slice()不同的是这个方法不能接收负值作为参数
                 如果传递了一个负值,则默认使用0
               而且他还会自动调整参数的位置,如果第二个参数小于第一个
               则自动交换 */
        /*10: substr()
           -用来截取字符串
           -参数:
              1:截取开始位置的索引
              2:截取的长度 
         */
             res=str.substr(0,3);//hel
        /*11: split()
          -可以将一个字符串拆分为一个数组
          -参数
             需要一个字符串作为参数,将会根据该字符串去拆分数组
             如果传递一个空串作为参数,则会将每个字符都拆分为数组中的一个元素
       */
             str="abc,bcd,efg,hij"
             res=str.split(",") 
        /*12: toUpperCase()
          -将一个字符串转换为大写并返回 */
          str="abcdefg";
          res=str.toUpperCase()
        /*13: toLowerCase()
          -将一个字符串转换为小写并返回 */
          str="ABCDEFG";
         res=str.toLowerCase()
        console.log(res)
       
         
    </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燕穗子博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值