这篇文章将为大家详细讲解有关javascript中深拷贝函数有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
JavaScript可以做什么
1.可以使网页具有交互性,例如响应用户点击,给用户提供更好的体验。2.可以处理表单,检验用户的输入,并提供及时反馈节省用户时间。3.可以根据用户的操作,动态的创建页面。4使用JavaScript可以通过设置cookie存储在浏览器上的一些临时信息。
在JavaScript操作中,如果我们想要修改数组或者对象的值,会先将数组或对象的值进行备份,保留原来数组或对象的值不被修改,这个过程就可以使用JavaScript中的深拷贝实现。
第一种:JavaScript的concat函数
concat(arr1, arr2,....)
返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。
使用实例
var arr1 = ["1","2","3"];var arr2 = arr1.concat();arr2[1] = "9";console.log("数组的原始值:" + arr1 );console.log("数组的新值:" + arr2 );
第二种:JavaScript的slice函数
slice(index1, index2)
没有参数是拷贝数组
只有一个参数是从该位置起到结束拷贝数组元素
两个参数,拷贝从起始位置到结束位置的元素(不包含结束位置的元素:含头不含尾)
使用实例
var a = [1, 2, 3] b = a.slice(0)console.log("a: ",a)console.log("b: ",b)b[0] = 99;console.log("---- after changed deepClone array b ----- ")console.log("a: ",a)console.log("b: ",b)
关于“javascript中深拷贝函数有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。