首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

写个JS深拷贝,面试备用

for in先写个简单版本,因为这个也可以实现深拷贝,所以直接动手吧,let A = [1,2,3,[4,5]]let B = []for (var i in A){ B[i] = A[i]}B[...这个方法里面我们用到了两个东西,分别是JSON.stringify()、JSON.parse()这两个方法,首先通过stringify将json序列化(json字符串),然后在通过parse实现反序列(还原)js...Undefined,function等等很多的类型,所以接下来我们将其完善,加上所以判断,由于类型比较多,我们可以把对象的判断单独抽离出来,接下来一起完善它吧:在这之前我们还需要考虑的一个点就是 关于js...}var a = {}a.a = avar b = deepClone(a)console.log(b)这样就可以初步解决循环调用问题,接下来要考虑的是如何为更多类型做不同处理,我们借用之前的一个检测js...类型的文章,通过js检测数据类型 的这个方法来为多种类型分别处理。

83330
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    写个JS深拷贝,面试备用_2023-03-13

    for in 先写个简单版本,因为这个也可以实现深拷贝,所以直接动手吧, let A = [1,2,3,[4,5]] let B = [] for (var i in A){ B[i] = A[...Undefined,function等等很多的类型,所以接下来我们将其完善,加上所以判断,由于类型比较多,我们可以把对象的判断单独抽离出来,接下来一起完善它吧:在这之前我们还需要考虑的一个点就是 关于js...(A,B) /** RangeError: Maximum call stack size exceeded */ 会出现一个超出了最大调用堆栈大小的错误,这也是深拷贝中的一个坑,在这里我们可以通过js...a = {} a.a = a var b = deepClone(a) console.log(b) 这样就可以初步解决循环调用问题,接下来要考虑的是如何为更多类型做不同处理,我们借用之前的一个检测js...类型的文章,通过js检测数据类型 的这个方法来为多种类型分别处理。

    1K30

    ping localhost与ping 127.0.0.1的区别

    一般情况下ping localhost 应该为127.0.0.1 ,但是有时会出来下面这个东西: ? 地址根本不是“127.0.0.1”,而是“::1:”,而ping 127.0.0.1时正常。 ?...♦原因分析: IPV6协议将127.0.0.1解析为 ::1 (127.0.0.1 ipv6的形式) Vista开始菜单中输入cmd回车后打开命令提示符,输入ping localhost默认的就会出现返回的数据包并不是...且默认网站时候已经开启; 2、打开http://127.0.0.1/ 看是否能访问IIS的默认网页,能访问则说明IIS已经成功安装到电脑上,可能是无法解析localhost; 3、开始--命令(cmd)--ping...localhost,看是否能ping通,从127.0.0.1上返回信息,如果成功则说明可以解析localhost; 4、如果上一步不成功,则用记事本打开C:/WINDOWS/system32/drivers

    8.4K30

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券