深拷贝和浅拷贝的区别?
数据类型
基本数据类型:栈内存当中
引用数据类型:堆内存当中,指向堆内存当中实际对象的引用
浅拷贝:
只拷贝一层
引用类型拷贝的内存地址
Object.assign
Array.prototype.slice()
Array.prototype.concat()
扩展运算符
深拷贝
开辟新的栈,两个对象的属性完全相同,对应两个不同的地址,修改一个对象属性,不会改变另外一个属性
实现方法:
_.cloneDeep()loadsh深拷贝函数
jQuery.extend()
JSON.stringfy()存在弊端,undefined,symbol函数
手写循环递归
区别:
深拷贝,创建一摸一样的对象,新对象不共享内存,修改新对象不影响源对象
浅拷贝:只复制属性执行某个对象指针,不复制对象本身,新旧对象共享同一块内存,修改对象属性会影响源对象
pwa
渐进式网页应用 2014 service worker草案
2015 chrome支持
渐进式,可响应式,可离线,实现类似app的交互,及时更新,安全,可以被搜索引擎,检索,可以推送,可以链接,