javaScript复习(四)String字符串与String API

String: 字符串

1、定义:多个字符组成的一个*只读*的集合(数组)

2、JavaScript内置对象:ES标准中已经定义好的,由浏览器厂商已经实现的对象

 共11个:String    Number   Boolean

           Array    Date     Math   RegExp

          Error  Function    Object   Global(全局)

3、包装类型:临时封装原始类型数据,提供对原始类型数据的操作方法

    ①共3种包装类型:String       Number     Boolean(不能new)

    ②何时使用包装类型:自动使用

    ③为什么使用包装类型?原始类型的数据本来没有任何方法,当程序中使用原始类型调用方法时,程序会自动创建包装类型对象封装该数据,等函数调用完,包装类型自动释放

   ④例:var n=100;  console.log(n.toString(2));  //将n变成2进制数输出 输出:1100100

扫描二维码关注公众号,回复: 4107336 查看本文章

    n=100是一个原始类型的值,一个值怎么会有方法,所以原本是不能使用toString方法的,但是因为有包装类型,程序会自动创建包装类型对象封装该数据,console.log(n.toString(2));变成console.log(new Number(n).toString(2));,此时就是临时的 Number对象调用toString方法了

4、String API

        在数组对象中,不改变原对象的API,字符串就能用(concat  slice)

        比如:.length属性:字符个数;都可用[i]访问每个字符

①转义字符:当字符串的内容和程序的特殊符号冲突时,

或字符串中包含功能字符时,都用\转化字符的意义

常用   \n:换行     \t: 一次缩进Tab键      \":输出 "         \\:输出 \

例:输出这句话:我说:"你想的真美"

console.log("我说:"你想的真美"");    // Uncaught SyntaxError: missing ) after argument list

console.log("我说:\"你想的真美\"");   // 我说:"你想的真美"

     ②大小写转换:将字符串中所有字符都统一转为大写或小写

       何时使用:当不区分大小写时,比如:用户名  验证码(常用)  电子邮件

       转大写:str=str.toUpperCase();

       转小写:str=str.toLowerCase();

     ③获取指定位置的字符:3种:

       1. str[i]   //获取倒数第二个字符 str[str.length-2]

       2. str.charAt(i)  //返回指定位置的字符获取第二个字符  str.charAt(2)     

      3. str.charCodeAt(i)-->获得字符的unicode号

     ④ 查找关键字的位置:2种:

        1. var i=str.indexOf(kword[,starti]);

          从左向右,查找kword首字符在字符串中的下标,如果没找到,返回-1

          starti:从starti位置开始向后查找下一个,如果省略starti,默认从0开始找

        2. var i=str.lastIndexOf(kword[,starti])

            从starti位置开始,向左找下一个kword

     ⑤获取子字符串:3种

         1. var subStr=str.slice(starti[,endi+1]) (常用) 与数组slice用法相同,含头不含尾,可用负值

             pid.slice(6,-5+1);

         2. var subStr=str.substring(starti[,endi+1])  不支持负数参数

             pid.substring(6,pid.length-5+1);

        3. var subStr=str.substr(starti,取几个);   //pid.substr(6,8)

   ⑥连接字符串(一般都是用+号直接解决,简单粗暴,很少用API)

        concat()  与数组concat用法相同

   ⑦分隔字符串:var arr=str.split("分隔符"),arr中以数组形式保存每段子字符串

      使用场景:今后只要分段处理字符串时,都要先分隔,再遍历

      把一个单词变成由字母组成的数组  var chars=str.split("");

      把一段文字变成由单词组成的数组     var chars=str.split("  ");

   ⑧ 模式匹配:按照规则查找或替换字符串中的子内容

      查找:2种:

        1. 只能从开始位置,找第一个匹配的关键字

     var i=str.search(/kword/i);  ,用来仅判断有没有关键字时

            vs str.indexOf:

                search专门用于模式匹配

                indexOf不支持模式匹配

        2. 获得所有关键字的内容,或个数:

            var arr=str.match(/kword/ig)

            arr中保存了所有关键字的内容, arr.length表示匹配的关键字的个数

            *如果没找到,返回null*,*都要先判断是否为null,再处理!*

            *match无法获得关键字的下标位置!*

      替换:var newStr=str.replace(模式,"替换内容")

猜你喜欢

转载自blog.csdn.net/shilipeng666/article/details/84101000
今日推荐