• web前端面试题附答案038-拼接字符串你平时怎么搞?


    后续陆续推出大学生解惑系列文章,欢迎把疑惑发给我 

    拼接字符串还是很常见的,几乎每天都会遇到,那么如果面试官问到这个问题,你能回到多少种方案呢,如果只是 += 是不是就不太好了

     1、采用 + 符号的方式

            + 符号简单粗暴,他本身不光可以操作计算数字,拼接字符串,一串一串的拼,也是一把好手。甚至可以定义多个字符串,就这样一直 + 下去

    1. <script>
    2. let str1 = '今天学HTML--';
    3. let str2 = '明天学CSS--';
    4. let str3 = '后天学Javascript';
    5. let str4 = str1 + str2 + str3;
    6. console.log(str4);
    7. script>

            这样做的缺点很明显,需要定义多个字符串

    2、采用 += 符号的方式

            如果单纯的用 + 号,需要定义多个字符串变量,虽然字符串是基础数据类型,存到栈内存中,但定义多个的写法至少也是很low的吧,所以,我们用一下 += 符号,基本一个变量就搞定了。

    1. <script>
    2. let str1 = '今天学HTML--';
    3. str1 += '明天学CSS--';
    4. str1 += '后天学Javascript';
    5. console.log(str1);
    6. script>

       这样做的缺点就是拼接过程中消耗内存

    3、数组字符串互转

            但是 += 慢慢大家也觉得不够优秀,因为一个字符串总是这样拼接下去,过程中会比较耗内存。所以人们慢慢推崇先定义一个数组,然后不断的往进push字符串,最后再将数组转为字符串,innerHTML到提前预备好的div或者其他元素中

            例如我们要展示类似这样的一个元素区域

    1. <div id="demo">
    2. <p>动态标题p>
    3. <div style="text-align: center;">动态的内容,内容有很多div>
    4. <div class="button">
    5. <button>按钮button>
    6. div>
    7. div>

             但现实情况肯定是“动态标题”“动态内容”要异步获取,而且这里只是一个大概的例子,真实的开发场景要比这复杂的多。可能一拼就是好多行,中间又包含数值计算等问题。如下代码段,看上去是不是工整的多

    1. <script>
    2. $(function() {
    3. let arr = [];
    4. let str = '';
    5. let domElement = document.querySelector('#demo');
    6. $.ajax({
    7. url: xxx,
    8. data: xxx,
    9. sucess: function(data) {
    10. arr.push('

      '+ data.title +'

      '
      );
    11. arr.push('
      '+ data.content +'
      '
      );
    12. arr.push('
      ');
    13. arr.push('');
    14. arr.push('
      ');
  • str = arr.join('');
  • domElement.innerHTML = str;
  • }
  • })
  • })
  • script>
  •   这样做其实已经流行了很久了,终于出现了vue react这类模板架构

    4、ES6有拼接符

            很多时候,涉及到字符串的拼接,越拼越乱,甚至怎么拼都不好使,怎么拼都报错这里多一个单引号,哪里多一个双引号,做过拼接工作的一定是头疼的不行。但是ES6出了一个拼接符,好用到爆炸,我觉得这是ES6最实用的功能之一。通过小撇儿拼接符号,内部涉及到变量的直接通过$符一对花括号拼接。而且里面还可以做运算,写表达式,非常非常棒

    1. <script>
    2. let str1 = '今天学HTML';
    3. let str2 = '明天学CSS';
    4. let str3 = `${str1}----${str2}--${3 + 3}`;
    5. console.log(str3);
    6. script>

    5、总结:

            一个小小的字符串也是通过人民群众的智慧不断的改进中,现在ES6的方式可以说已经非常方便了,而且自从用了vue react后,这类拼接的工作变得愈发的少了,直接在template模板中进行开发了。未来再过几年,人们又会发现什么用的优秀的方案呢

  • 相关阅读:
    Jenkins与服务器时间不一致
    目标检测mAP评价指标计算详解
    2023版 STM32实战5 基本定时器中断
    分布式前修课:MySQL实现分布式锁
    如何快速将钉钉员工信息同步到飞书
    C语言自动生成代码注释:koroFileHeader插件
    鸿蒙:实现两个Page页面跳转
    【ML on Kubernetes】第 10 章:构建、部署和监控模型
    重装系统后笔记本电脑无线wifi怎么连接
    章鱼猫挂件
  • 原文地址:https://blog.csdn.net/xingyu_qie/article/details/127414612