js基础08-基本包装类型(字符串的操作)

js给我们提供了三个引用类型:String/Number/Boolean;

   基本数据类型是没有方法可以调用的,但是以下代码让我们知道,当我们定义一个基本数据类型字符串的时候,是可以使用其里面的某些方法的。
var str = 'fdngjgj';
        console.log(str.substring(5));   //gj
 实际上这里面是分为如下几步的:`var str = new String('fdngjgj');  //先将我们定义的字符串转换成String类型的临时对象,
    console.log(str);
    var str1 = str.substring(5); //临时对象中有各种方法,可供调用
    str = null; //调用完成之后销毁这个临时对象`;
  var num1 = Number('18'); //类型转换
        console.log(num1);  //18
        var num1 = new Number(18); //基本包装类型,对象
        console.log(typeof num1);  //object
        console.log(num1);  //Number {18}
 字符串是不可变的:
  var str = 'abc';
  str = 'hello'
  当我们给str赋值的时候,常量abc不会被修改,仍然在内存中;
  重新给字符串赋值,会重新在内存中开辟新的空间

字符常用的方法:

1.1  charAt()`var str = 'fdngjgj';
  console.log(str.charAt(1));`   //返回字符串'd',charAt()方法是根据位置(索引)返回该位置初的字符串

 charCodeAt()  //返回该位置所在数组的ASCII码
 str[]z作用于charAt差不多

字符串常用的方法:

concat()  //连接两个字符串
        var str1 = 'zs';
        var str2 = 'ls';
        var str3 = str1.concat(str2);
        console.log(str3);   //zsls
slice(star,end)    //从star开始(索引),从end结束(索引),截取字符串,包括star,不包括end
        var str = 'qwerasdfzxcv';
        console.log(str.slice(1, 6));  //weras
substring(star,end)  //和slice类似,从star开始(索引),从end结束(索引),截取字符串,包括star,不包括end
        var str = 'jklasdf';
        console.log(str.substring(1, 5));  //klas
substr(star,length)   //从star开始(索引),截取长度为length的字符
        var str = 'qwer1234';
        console.log(str.substr(1, 5));  //wer12
indexOf()  //从前往后,返回指定内容所在字符串中第一次出现的位置,如果没有返回-1
        var str = 'qwer1234';
        console.log(str.indexOf('e'));  //2
lastIndexOf()  //从后往前,返回指定内容所在字符串中第一次出现的位置,如果没有返回-1
        var str = 'qwer1234e';
        console.log(str.lastIndexOf('e'));  //8
toUpperCase()  //转换大写
toLowerCase()  //转换小写
//驼峰命名法:首字母大写,其余字母小写
var str = 'background';
console.log(str.charAt(0).toUpperCase() + str.substr(1)); //Background
console.log(str.substr(0, 1).toUpperCase() + str.substr(1));  //Background
search()  检索字符串中指定的子字符串,返回子字符串的起始位置,没有的话返回-1
        var str = 'Hello Word';
        console.log(str.search('w')); //-1
        console.log(str.search('W')); //6
        console.log(str.search('word')); //-1
        console.log(str.search('Word')); //6
        console.log(str.search('wehfjgh')); //-1
replace(old,new)  替换字符串,new替换新的字符串old,如果有多个old字符串,只替换一个
        var str = 'namenaid';
        console.log(str.replace('n', 'q')); //qamenaid
        console.log(str.replace('a', 'q')); //nqmenaid
split()  分割字符串,返回一个数组;无参数传递,或者传递的参数在字符串里面没有,默认将原字符串添加到数组里面
        var str = 'a-b-c';
        console.log(str.split()); //['a-b-c']
        console.log(str.split('')); //["a", "-" ,"b" ,"-", "c"]
        console.log(str.split('-')); //['a','b','c' ]
        console.log(str.split(' ')); //[ "a-b-c"]
        console.log(str.split('&&')); //["a-b-c"]
        console.log(str.split('a'));  //["", "-b-c"]
        console.log(str.split('b'));  //["a-", "-c"]
var str = 'tian-liang-jiao-yu';
        //转换成TianLiangJiaoYu

        var strArr = str.split('-');
        var newStr1 = ''
        for (var i = 0; i < strArr.length; i++) {
            var newStr = strArr[i].substr(0, 1).toUpperCase() + strArr[i].substr(1)
            newStr1 = newStr1 + newStr
        }
        console.log(newStr1);  //TianLiangJiaoYu
var str = 'tian-liang-jiao-yu';
        //转换成TianLiangJiaoYu

        var strArr = str.split('-');
        for (var i = 0; i < strArr.length; i++) {
            strArr[i] = strArr[i].substr(0, 1).toUpperCase() + strArr[i].substr(1)

        }
        console.log(strArr.join(''));
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值