首页
学习
活动
专区
工具
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检测数据类型 的这个方法来为多种类型分别处理。

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

写个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检测数据类型 的这个方法来为多种类型分别处理。

95930

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

7.3K30

ping的原理

三、PING 测试1.Ping 本机IP 例如本机 IP 地址为:172.168.200.2。则执行命令 Ping 172.168.200.2。...2.Ping 网关 IP 假定网关 IP 为:172.168.6.1,则执行命令 Ping 172.168.6.1。...对于 Windows 下 ping 命令相信大家已经再熟悉不过了,但是能把 ping 的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让 ping 发挥最大的功能,我也只不过经常 用 ping...使用 Ping 检查连通性有六个步骤:(1)使用 ipconfig /all 观察本地网络设置是否正确;(2)Ping 127.0.0.1,127.0.0.1 回送地址 Ping 回送地址是为了检查本地的...因此,从这台主机去 Ping 其他机器,IP 层协议会无法处理,超时后,Ping 就会给出一个“超时无应答”的错误信息提示。

1.8K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券