zoukankan      html  css  js  c++  java
  • 常见前端面试题02

    堆栈内存+闭包作用域

    堆:存储引用类型值的空间
    栈:存储基本类型值和指定代码的环境
    在这里插入图片描述
    答案:培训,对象的key数字和字符串等效

    在这里插入图片描述
    答案:珠峰,Symbol的特点,都是唯一的
    在这里插入图片描述
    答案:培训,key会转化成字符串[Obejct object]
    在这里插入图片描述
    答案:‘4’,alert弹出的会转化成字符串
    在这里插入图片描述
    答案:‘1’ ‘4’。
    在这里插入图片描述

    深拷贝浅拷贝

    引用数据类型一般的操作,如直接赋值,展开运算符都是进行了浅拷贝
    如果引用数据类型结构只有一层,可以用循环来进行深拷贝,或者用JSON.stryfing 来进行深拷贝。
    但使用转化为字符串的办法,当咱们数据里有函数以及正则的时候,会出现问题,所以这种方法是有局限性的。

    我们可以利用一个第三方的包来进行深拷贝,lodash里提供了进行深拷贝的api。
    我们来简单的实现的实现一个深拷贝函数。

     function deepCopy(obj) {
            let newObj = new Object();
            if (typeof obj !== "object") return obj;
            if (typeof obj == null) return null;
            if (obj instanceof RegExp) {
              return new RegExp(obj);
            }
            if (obj instanceof Date) {
              return new Date(obj);
            }
            for (let key in obj) {
              if (obj.hasOwnProperty(key)) {
                newObj[key] = deepCopy(obj[key]);
              }
            }
          }
    

        感谢您花时间阅读此篇文章,如果您觉得看了这篇文章之后心情还比较高兴,可以打赏一下,请博主喝上一杯咖啡,让博主继续码字……
        本文版权归作者和博客园共有,来源网址:https://blog.csdn.net/weixin_46498102 欢迎各位转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接
  • 相关阅读:
    [Python] Calculate pi With MonteCarlo
    二次函数闭区间求最小值、、
    [2013.10.30 Luogu OJ P1509]找啊找啊找GF
    IE8下绝对居中的margin:auto兼容问题解决办法
    上传文件过长中间显示省略号
    全选
    往textarea中光标所在位置插入文本
    侧栏悬浮窗
    IE火狐兼容小知识点(即时更新)
    排序、添加、删除、上移、下移功能
  • 原文地址:https://www.cnblogs.com/jackson1/p/13780680.html
Copyright © 2011-2022 走看看