面试题简单整理
css水平、垂直居中的方法的办法
水平居中的四种方法
- margin: 0 auto;
- text-align: center;
- display:flex;justify-content:center;
- position:aboulute;left:50%;transform:translateX(50%);
垂直居中的四种方法
- display:flex;align-items:center;
- position:aboulute;top:50%;transform:translateY(50%);
- line-height 等于height
- display:table-cell;vertical-align: middle;
css制作三角形
.triangle {
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 20px solid red;
}
主要利用border和transparent属性,两边设置为transparent,另一边设置颜色以及三角形朝向
说说深拷贝和浅拷贝
深拷贝和浅拷贝的区别:浅拷贝增加一个指针,指向已存在的内存、、、深拷贝申请一个新的内存区域,指针指向新的内存区域
深浅拷贝只针对引用类型的值。
Object.assign()和展开运算符一样,属性值是值类型,就是深拷贝,如果是引用类型,就是浅拷贝,如下。。
Object.assign()是浅拷贝还是深拷贝?
当拷贝对象属性的属性值是值类型,那就是深拷贝
但是如果是引用类型,那就是浅拷贝
看下示例
知识补充:::值类型和引用类型 值类型有 number string boolean null undefined 和 symbol
引用类型有 object array function
css选择器
- id选择器
- class选择器
- 全选符号* 所有元素
- 标签选择器
- 属性选择器
- 伪类选择器 :
- 子选择器 >
- 兄弟选择器 ~
- 相邻选择器 +
数组去重
- 利用set数据结构去重
- 利用循环+splice方法去重
- 利用递归去重
- 利用indexOf去重
- 利用sort去重
可以参考数组去重的方法大集合
vue生命周期
- beforeCreate
- created
- beforeMount
- mounted
- beforeUpdate
- updated
- beforeDestroy
- destroyed