看啥推荐读物
专栏名称: 前端大全
分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯
今天看啥  ›  专栏  ›  前端大全

低门槛彻底理解JavaScript中的深拷贝和浅拷贝

前端大全  · 公众号  · 前端  · 2018-05-07 20:00
(点击上方公众号,可快速关注)作者:吴胜斌https://www.simbawu.com/article/search/9在说深拷贝与浅拷贝前,我们先看两个简单的案例://案例1var num1 = 1, num2 = num1;console.log(num1) //1console.log(num2) //1num2 = 2; //修改num2console.log(num1) //1console.log(num2) //2//案例2var obj1 = {x: 1, y: 2}, obj2 = obj1;console.log(obj1) //{x: 1, y: 2}console.log(obj2) //{x: 1, y: 2}obj2.x = 2; //修改obj2.xconsole.log(obj1) //{x: 2, y: 2}console.log(obj2) //{x: 2, y: 2}按照常规思维,obj1应该和num1一样,不会因为另外一个值的改变而改变,而这里的obj1 却随着obj2的改变而改变了。同样是变量,为什么表现不一样呢?这就要引入JS中基本类型和引用类型的概念了。基本类型和引用类型ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照