1.less与sass的区别:
实现方式:less是基于js,是在客户端进行处理的,sass是基于Ruby,是在服务端进行处理的
定义变量:less定义变量时使用前缀@ ; sass使用$
解析方式:less可以向上、下解析;sass只能向上解析
作用域:less变量有全局与局部之分;sass变量可以理解为全局,可以通过在变量后面加!default,在引入sass文件之前改变变量的属性值来解决该问题
sass中增加了条件语句与循环语句
2.div垂直水平居中:
margin:auto:实现绝对定位元素的居中
transform:translate(-50% , -50%)
display:flex
父盒子设置display:table、vertical-align:middle
left:0
right:0
top:0
bottom:0
margin:auto
position:absolute
position:absolute
left:50%;
top:50%;
transform:translate(-50% , -50%)
display:flex;
align-item:center;
justify-content:center
// 父盒子 display:table、vertical-align:middle
// 子元素:display:inline-block
3.使用js计算出页面中有多少个div、span???
4.深拷贝与浅拷贝区别,怎么实现深拷贝
案例:将b复制a,如果改变a的值,b跟着改变就是浅拷贝,反之就是深拷贝(需要在堆中开辟一个新的内存存放b的值)
深拷贝:json.parse、json.stringfy、$.extend
浅拷贝:object.assign
5.substr、sbustring、slice区别
substr:substr(start,length)
substring:substring(start,end) 截取到前一个字符
slice:
slice(start,end)截取到前一个字符
slice()复制整个数组 返回一个新的数组
6.es6的新特性
set(数组去重:…new Set(arr))
class:es6新增的语法糖的写法,其实跟普通的构造函数本质上没有区别
promise
let、const
模板字符串
箭头函数
函数默认值
数组解构
const gemstone = {
type: 'quartz',
color: 'rose',
karat: 21.29
};
const {type, color, karat} = gemstone;
console.log(type, color, karat);
7.实现数组去重
写下es6的吧
Array.from(new Set(arr))
...new Set(arr)