JavaScript 之 字符串

1.创建字符串

 var str = 'hello'   // 字面量方式
 
 var str1 = new String('hello') //构造函数方式

2.通过字符串索引号访问字符串中字符

3.通过length属性来获得字符串的长度

4.包装对象

 =>基本数据类型:number string boolean undefined null

 =>复杂数据类型:Object Array String

5.字符串常用方法:

    ①charAt(索引号)        => 返回指定索引位置的字符

 var str = 'hello'

 var c1 = str.charAt(1)  //这里会得到字母e
 
 console.log('c1 :',c1);

②indexOf(字符)   => 返回字符所在索引号

                              => 如不存在返回-1

        var str = 'hello'

        var index = str.indexOf('l') //这里会获得索引号2

        console.log('index :', index);

③lastIndexOf(字符)   => 返回最后一个字符所在索引号

                                   => 如不存在返回-1

        var str = 'hello'

        var lastIndex = str.lastIndexOf('l')  //这里返回会获得索引号3

        console.log('lastIndex :', lastIndex);

④substring(起始索引号,结束索引号)   => 返回起始索引号和结束索引号之间的子字符串,不包括结束索引字符

 var str = 'hello'

 var sub1 = str.substring(1, 3) //这里返回'el'

 console.log('sub1 :', sub1);

⑤substring(起始索引号)   => 返回从起始索引号开始后面所有字符串

var str = 'hello'

var sub2 = str.substring(1)//这里返回'ello'

console.log('sub2 :', sub2);

⑥substr(起始索引号,字符个数)   => 返回从起始索引位置开始指字符个数的子字符串

var str = 'hello'

var sub2 = str.substr(1,4)//这里返回'ello'

console.log('sub2 :', sub2);

⑦ replace(字符串1,字符串2)    => 用后面的字符串2替换前面的字符串1

var str = "Visit Microsoft!"

var sub5 = str.replace('Visit', "school")

console.log('sub5 :', sub5); // school Microsoft!

⑧split('分割符')   => 分割字符串,将分割之后的字符存入数组返回

var str1 = 'javascript-html-css'
        
var arr = str1.split('-')

console.log('arr :', arr); // ['javascript', 'html', 'css']

⑨concat('拼接字符串')   =>拼接字符串返回

var str = 'hello'

var newStr = str.concat('world') //这里获得'helloworld'
      
console.log('newStr ', newStr);

⑩ trim()      => 方法删除字符串两端的空白符

                    => 返回去掉空格的新字符

toUpperCase()   =>将字符串变为大写

        var s2 = 'hello'
        var str2 = s2.toUpperCase() // HELLO
        console.log('str2 ', str2);

toLowerCase()   =>将字符串变为小写

        var s3 = 'HELLO'
        var str3 = s3.toLowerCase() // hello
        console.log('str3 ',str3);

6.练习

1. 反转字符串  abcdefg  => gfedcba
方法①:
 function reverseStr() {
            var str = 'abcdefg' // => 'gfedcba'
            //        0123456
            var newStr = ''

            var len = str.length //7
            for (var i = len - 1; i >= 0; i--) { //i:6,5
                var item = str.charAt(i) //item: g, f
                newStr = newStr + item // 'g'+'f' 'gf' 
            }
            console.log(newStr);
        }

         reverseStr()
方法②:
function reverseStrTwo() {
            var str = 'abcdefg' // => 'gfedcba'
            var arr = str.split('') //字符串->数组
            arr.reverse() //反转
            var newStr = arr.join('') //数组->字符串
            console.log(newStr);
        }

        reverseStrTwo()
 2. 已知字符串 'abcefMMaveqeripMMaeererMMda'  替换大字MM为*号   'abcef**aveqerip**aeerer**da'
方法①:
 function replaceStr() {
            
            //str.replace('MM', '**') // 'abcef**aveqeripMMaeererMMda'
            // newStr = newStr.replace('MM','**') //abcef**aveqerip**aeererMMda
            // newStr = newStr.replace('MM','**')
            
            var str = 'abcefMMaveqeripMMaeererMMda'
            while(str.indexOf('MM') != -1){
                str = str.replace('MM','**') //  'abcef**aveqerip**aeerer**da'
            }
            console.log(str);
        }

        replaceStr()
方法②:
function replaceStrTwo(){
            var str = 'abcefMMaveqeripMMaeererMMda' // '[abcef, aveqerip, aeererMMda]'
            var arr = str.split('MM')
            var newStr = arr.join('**')
            console.log('newStr :',newStr);
        }

        replaceStrTwo()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值