JavaScript学习-字符串对象

简介: 字符串对象

 字符串对象

基本概念

基本包装类型:把简单数据类型包装成了复杂数据类型。(基本数据类型就有了属性和方法)

var str='andy';
console.log(str.length);

image.gif

    • 把简单数据类型包装成复杂数据类型
    var temp=new String('andy');
    image.gif
      • 把临时变量的值给str
      str=temp;
      image.gif
        • 销毁临时变量
        temp=null;
        image.gif

        JavaScript提供了三个特殊的引用类型:string、number、boolean

          • 字符串的不可变

          不要大量拼接字符串,因为原来的字符串也在内存中。里面的值不变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。

          根据字符返回位置

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

          1、indexOf('要查找的字符',[起始位置])

          从前往后查找

          var str="你是我的神";
          console.log(str.indexOf('我');//2
          console.log(str.indexOf('我',1);

          image.gif

          2、lastIndexOf('要查找的字符',[起始位置])

          从后往前查找

          var str="你是我的神";
          console.log(str.lastIndexOf('我');

          image.gif

          根据位置返回字符(☆☆☆)

          1、charAt(索引号)

          返回指定位置的字符

          var str="andy";
          console.log(str.charAt(3));

          image.gif

          2、遍历所有字符

          for(var i=0;i<str.length;i++){
           console.log(str.charAt(i));
          }

          image.gif

          3、charCodeAt(索引号)

          返回ASCII码,可以来判断用户按了哪个键。

          console.log(charCodeAt(o));

          image.gif

          4、str[index]

          H5新增的,有兼容问题

          字符串操作方法

          1、concat('字符串1','字符串2',…)

          var str='cindy';
          console.log(str.concat('red');

          image.gif

          2、substr(start,length)

          从start开始取length长度的字符

          var str='你是我的神';
          console.log(str.substr(2,2));

          image.gif

          3、替换字符replace('被替换的字符','替换的字符')

          只替换第一个字符

          var str='andandand';
          console.log(str.replace('a','b');//bndandand

          image.gif

          4、字符转换为数组split('分隔符')

          var str='red,pink,blue';
          console.log(str.split('&'));

          image.gif

          5、toUpperCase()转换为大写

          6、toLowerCase()转换成小写


          简单案例

            • 查找‘abcdefgabcdefg’中所有g出现的位置及次数
            var str='abcdefgabcdefg';
                    var index=str.indexOf('g');
                    var num=0;
                    while(index!==-1){
                        console.log(index);
                        num++;
                        index=str.indexOf('g',index+1);
                    }
                    console.log('g出现的次数是:'+num);

            image.gif

              • 判断一个字符串‘abcdefgabcdefg’中出现最多的字符,统计次数
              var str='abcdefgabcdefg';
                     var obj={};
                     for(var i=0;i<str.length;i++){
                         var chars=str.charAt(i);
                         if(obj[chars]){
                          obj[chars]++;
                         }else{
                             obj[chars]=1;
                         }
                     }
                     console.log(obj);
                     var max=0;
                     var ch='';
                     for(var k in obj){
                         if(obj[k]>max){
                             max=obj[k];
                             ch=k;
                         }
                     }
                     console.log(max);
                     console.log('最多的字符为'+ch);

              image.gif

                • ‘abcoefoxyozzoopp’把o替换为*
                var str='abcoefoxyozzoopp';
                        while(str.indexOf('o')!==-1){
                            str=str.replace('o','*');
                        }
                        console.log(str);

                image.gif


                目录
                相关文章
                |
                5月前
                |
                前端开发 JavaScript
                个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
                本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
                |
                JavaScript 前端开发
                如何在 JavaScript 中使用 __proto__ 实现对象的继承?
                使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
                |
                Web App开发 JavaScript 前端开发
                如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
                【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
                |
                5月前
                |
                前端开发
                个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
                这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
                |
                7月前
                |
                编解码 JavaScript 前端开发
                【Java进阶】详解JavaScript的BOM(浏览器对象模型)
                总的来说,BOM提供了一种方式来与浏览器进行交互。通过BOM,你可以操作窗口、获取URL、操作历史、访问HTML文档、获取浏览器信息和屏幕信息等。虽然BOM并没有正式的标准,但大多数现代浏览器都实现了相似的功能,因此,你可以放心地在你的JavaScript代码中使用BOM。
                219 23
                |
                6月前
                |
                JavaScript 数据可视化 前端开发
                three.js简单实现一个3D三角函数学习理解
                1.Three.js简介 Three.js是一个基于JavaScript编写的开源3D图形库,利用WebGL技术在网页上渲染3D图形。它提供了许多高级功能,如几何体、纹理、光照、阴影等,以便开发者能够快速地创建复杂且逼真的3D场景。同时,Three.js还具有很好的跨平台和跨浏览器兼容性,让用户无需安装任何插件就可以在现代浏览器上观看3D内容。
                226 0
                |
                JavaScript 前端开发 数据处理
                模板字符串和普通字符串在浏览器和 Node.js 中的性能表现是否一致?
                综上所述,模板字符串和普通字符串在浏览器和 Node.js 中的性能表现既有相似之处,也有不同之处。在实际应用中,需要根据具体的场景和性能需求来选择使用哪种字符串处理方式,以达到最佳的性能和开发效率。
                289 63
                |
                10月前
                |
                JavaScript 前端开发 开发者
                JavaScript字符串的常用方法
                在JavaScript中,字符串处理是一个非常常见的任务。JavaScript提供了丰富的字符串操作方法,使开发者能够高效地处理和操作字符串。本文将详细介绍JavaScript字符串的常用方法,并提供示例代码以便更好地理解和应用这些方法。
                213 13
                |
                12月前
                |
                JSON 前端开发 JavaScript
                JavaScript中对象的数据拷贝
                本文介绍了JavaScript中对象数据拷贝的问题及解决方案。作者首先解释了对象赋值时地址共享导致的值同步变化现象,随后提供了五种解决方法:手动复制、`Object.assign`、扩展运算符、`JSON.stringify`与`JSON.parse`组合以及自定义深拷贝函数。每种方法都有其适用场景和局限性,文章最后鼓励读者关注作者以获取更多前端知识分享。
                184 1
                JavaScript中对象的数据拷贝