js篇--String对象

1.关于String:

String---->是一个对象
字符串可以看成是字符组成的数组,但是js中没有字符类型
字符是一个一个的,在别的语言中字符用一对单引号括起来
在js中字符串可以使用单引号也可以使用双引号
因为字符串可以看成是数组,所以,可以通过for循环进行遍历
字符串特性:不可变性,字符串的值是不能改变
字符串的值之所以看起来是改变的,那是因为指向改变了,并不是真的值改变了

//字符串可以通过索引访问字符串中的某个值
//    但是,是可以访问---读取---只读
//    设置:就是可以改变
//    对象的方式来看待
    var str="hello";
    str[1]="W";
    console.log(str);
    for(var i=0;i<str.length;i++){
      console.log(str[i]);
    }
    //hello
 //h
 //e
// l--2次
 //o
 


  var str="123";
    str="456";
    console.log(str);//456
    


    //String对象

//    string ---->字符串类型----基本类型
//    String---->字符串类型----引用类型

    //字符串对象----String对象

2.String方法:

实例方法---->必须要通过new的方式创建的对象(实例对象)来调用的方法
静态方法---->直接通过大写的构造函数的名字调用的方法(直接通过大写的对象名字调用的)
字符串的常用属性:
.length------>字符串的长度
.charAt(索引),返回值是指定索引位置的字符串,超出索引,结果是空字符串
.fromCharCode(数字值,可以是多个参数),返回的是ASCII码对应的值
.concat(字符串1,字符串2,…);返回的是拼接之后的新的字符串
.indexOf(要找的字符串,从某个位置开始的索引);返回的是这个字符串的索引值,没找到则返回-1
.lastIndexOf(要找的字符串);从后向前找,但是索引仍然是从左向右的方式,找不到则返回-1
.replace(“原来的字符串”,“新的字符串”);用来替换字符串的
.slice(开始的索引,结束的索引); 从索引5的位置开始提取,到索引为10的前一个结束,没有10,并返回这个提取后的字符串
.split(“要干掉的字符串”,切割后留下的个数);切割字符串
.substr(开始的位置,个数);返回的是截取后的新的字符串
.substring(开始的索引,结束的索引),返回截取后的字符串,不包含结束的索引的字符串
.toLocaleLowerCase();转小写
.toLowerCase();转小写
.toLocaleUpperCase()转大写
.toUpperCase();转大写
.trim();干掉字符串两端的空格

3.字符串案例

案例1:

var str="落红不是无情物,化作春泥更护花!";
var key="无";
//先获取要截取的字符串的索引的位置
var index=str.indexOf(key);
//从指定的位置开始截取,截取两个即可
str=str.substr(index,3);
console.log(str);
  //无情物

案例2:找到这个字符串中所有的 o 出现的位置

var str2="only you!no come home hourse hosfiwlo";
var key="o";
var index=0;
while ((index=str2.indexOf(key,index))!=-1){//如果是-1情况,说明找完了
    console.log(index);
    index+=key.length;
}
//0   6  10  13  18  23  30  36

案例3:找到这个字符串中每个字符串出现了多少次

var str3="whatOareYyouYnoYshaHleiHoHmyHgod";
//第一步:把所有的字母全部变成小写
str3=str3.toLocaleLowerCase();
//第二步:创建一个空对象,目的:把字母作为键,次数作为值
        var obj={};
//第三步,遍历字符串,获取每个字母
for(var i=0;i<str3.length;i++){
    //判断obj这个对象中有没有这个字母(字母---键)
    var key=str3[i];//每个字母
    if(obj[key]){//判断obj中有没有这个键
        //对象中有这个字母了
        obj[key]++;
    }else {
        //对象中没有这个字母,那就把字母加到对象中,并且给这个字母一个出现的次数,默认1次
        obj[key]=1;
    }
}
//遍历对象,显示每个字母的次数
        for(var key in obj){
            console.log(key+"这个字母出现了"+obj[key]+"次");
        }
//w这个字母出现了1次
//h这个字母出现了6次
//a这个字母出现了3次
//t这个字母出现了1次
//o这个字母出现了5次
//r这个字母出现了1次
//e这个字母出现了2次
//y这个字母出现了5次
//u这个字母出现了1次
//n这个字母出现了1
//s这个字母出现了1次
//l这个字母出现了1次
//i这个字母出现了1次
//m这个字母出现了1次
//g这个字母出现了1次
//d这个字母出现了1次
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值