笨橘子のJavaScript--字符串

6.1  基本包装类型

为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String,Number,和boolean。

6.2  字符串不可变

指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。

        var str = 'abc';

        str = 'hello';

        重新给str赋值的时候,常量abc不会被覆盖,依然能存在内存中

        重送字符串赋值,会重新在内存中开辟空间,这个特点就是字符串不可变

        由于字符串的不可变,在大量拼接字符串的时候会有效率问题

        var str = '';

        for(var i = 0; i < 100000; i++){

            str += i;

        }

        console.log(str);

        这个会无限占你内存,严重可能会卡死。

6.3 根据字符返回位置

字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串。

方法名:IindexOf('要查找的字符','开始的位置')

说明:返回指定内容在元字符串中的位置,如果找不到就返回-1,开始的位置是index索引号

方法名:lastindexOf()

说明:从后往前找,只招第一个匹配的

例如:

        var str ='改革春风吹满地,春天来了';

        console.log(str.indexOf('春'));

        console.log(str.indexOf('春',3));

输出: 2

            8

6.4  根据位置返回字符(!重点OMO!)

1.方法名:charAt(index)

说明:返回指定位置处的字符(index字符串的索引号)

使用方法: str.charAt(0);

2.方法名:charCodeAt(index)

说明:获取指定位置处字符的ASCII码(index)索引号

使用方法:str.charCodeAt(0);

3.方法名:str[index];

说明:获取指定位置处字符

使用:HTML5,IE8+等

例如:

遍历所有的字符

        var str ='andy';

        for(var i = 0; i < str.length; i++){

            console.log(str.charAt(i));

        }

石粒1:遍历以下的字符串找出来其中的最大值

        var str = 'abcoefoxyozzopp';

        var o = {};

        var max = 0;

        for (var i = 0; i<str.length; i++){

            var chars = str.charAt(i);

            if(o[chars]){

                o[chars]++;

            }else{

                o[chars] = 1;

            }

        }

        for (var k in o){

            if(o[k]>max){

                max = o[k];

            }

        }

        console.log(o);

        console.log(max);

6.5字符串操作方法(重点)

1.方法名:concat(str1,str2,str3...)

说明:concat()方法用于连接两个或多个字符串。拼接字符串,等效于+,+更常用

2.方法名:substr(start,length)

说明:从start位置开始(索引号),length取的个数  重点记住这个

3.方法名:slice(start,end)

说明:从start位置开始,截取end位置,end取不到(他们俩都是索引号)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值