浅克隆简单来说就是复制,因为引用型变量保存的是内存地址,其实后来操作的都是同一块内存,导致了数组内容都一样
深克隆就是在克隆的时候判断一下属性的类型是不是引用型变量,如果是的话就用递归方法让它一层一层进去复制自己。
4.浅拷贝、深拷贝
简单来说,就是一个变量赋值给另一个变量,其中一个变量的值改变,两个变量的值都变了,这就叫做浅拷贝。
ES6语法中也给我们提供了一个浅拷贝的方法Object.assign(target, sources)
target:拷贝的目标 sources: 被拷贝的对象
那么浅拷贝, 是拷贝后,新拷贝的对象内部仍然有一部分数据会随着源对象的变化而变化, 那么深拷贝就是,拷贝后, 新拷贝的对象内部所有数据都是独立存在的,不会随着源对象的改变而改变
深拷贝的话一共有两种方式: 递归拷贝 和 利用JSON函数深拷贝JSON.parse(JSON.stringify(a))
5.事件冒泡和事件捕获
事件冒泡:从事件源朝父级一直到根元素(HTML)。当某个元素的某类型事件被触发时,那么它的父元素同类型的事件也会被触发,一直触发到根源上;
从具体的元素到不确定的元素。
从根元素(HTML)到事件源,当某个元素的某类型事件被触发时,先触发根元素的同类型事件,朝子一级触发,一直触发到事件源。
6.事件委托
当给父元素添加事件监听器时,事件监听器会分析从子元素 冒泡 上来的事件,找到到底是哪个子元素的事件。
7.css垂直居中
8.怎么实现边框为0.5px(准备两种)
通过伪元素
.content:before{
content: ‘’;
position: absolute;
widt