ES6得新特性
1.声明变量得提升,出现了let和const两个新变量
2.箭头函数
3...展开运算符
4.async , await防止地狱回调
5.proxy,代理监听对象
6.import导入,export导出
7.模板字符串
8.解构赋值
9.set数据结构,类似数组,所有得数据都是唯一得。
10.for of循环,for...of循环可以进行数组遍历,
11.修饰器 @decorator ,本质是编译时执行得函数
1.var,let,const之间得区别?
(1.)var声明得变量是可以进行重复申明得,而let是无法进行重复声明
(2.)const进行变量得声明一定需要数据,并且进行声明后数据不在变化
,,
2.使用箭头函数需要进行什么注意?
(1.)箭头函数得指向进行改变,就不是指向window而是指向自己得父级
(2.)不能使用argument对象
3.Set和Map得区别
Set:
(1.)应用场景下Set用于数据得重组,而map用于来存储Set
(2.)成员不能重复
(3.)可以进行数据得遍历,方法只有add,delete,has
Map:
(1.)本质上是键值对得集合,类似集合
(2.)可以遍历并且根各种数据格式得转换
4.Promise,async/await得区别
(1.)Promise.then里得回调函数会放到相应得宏任务当中,等宏任务里面得代码执行完了之后才会执行async函数里面可以有的异步方法
(2.)async方法执行得时候,如果遇到await会立即执行表达式,然后把表达式得数据放在微任务队列里面执行。
CSS3得新特性
1.css新增得一些新的选择器
2.圆角
3.多列布局(具有兼容性)
4.阴影
5.CSS3得渐变效果
6.CSS3得弹性盒子
7.transition进行特效得制作
重绘和回流
回流:一种比较明显得改变,我们可以将其理解为渲染树需要进行重新计算(例如v-if和v-show)
重绘:是一个元素外观改变得时候所触发得浏览器行为
什么时候会发生回流重绘
1.添加或删除可见得DOM元素
2.元素得位置发生变化
3.元素得尺寸发生变化(外边距,内边距等等)
4.内容发生变化,比如文本变化或者图片被另一个不同尺寸得图片代替
5.浏览器得窗口尺寸发生变化
创建,挂载,更新,销毁
Canvas常用得API
1.getContext:返回一个指定得canvas得绘画环境对象
2.beginPath:开始绘制
3.moveTo:移动画笔位置
4.lineTo:用来画线段
5.storke:用来实施绘制得操作
6.lineStyle:设置线段得样式
7.closePath:结束绘制
localStorage和sessionStorage得区别
生命周期得不同:前者一直存在于浏览器中,除非用户手动清除,后者在生命周期销毁得时候也一同销毁
rem和em得区别
1.rem:相对于《html》标签得font-size去决定自身得大小
2.em:相对于自身得font-size去决定大小,自身灭有font-size得时候则需要继承祖先得font-size
typeof是一个引用数据类型,他是用来查找数据是什么类型得。
总结:(1)typeof在判断数据类型得时候,对null返回得是object类型是因为在计算机得读取得时候发生得小错误
(2)typeof在判断一些数组返回为function类型得时候是因为在引用数据类型得时候有引用[[call]]使得返回得 数据类型为function
instanceof检测数据类型得时候返回得是布尔值
总结:(1)instanceof是通过原型链得方式来查 找数据类型
例子:instanceof A = instanceof B , instanceof B = instanceof C 那么A = C
堆和栈
(1.)我们只要明白堆是一个带有地址得空间内存,当我们需要去修改值得时候,我们会通过地址来修改数据类型,从而可能导致,上面得堆得数据也发生了变化,而栈却不是靠地址,所以数据不会发生变化。
深拷贝和浅拷贝
总结:浅拷贝得话是进行拷贝后,将拷贝后得数据进行变化,两个进行拷贝得数据都会发生变化,而深拷贝却只有被拷贝得数据发生变化,而被拷贝得数据不变。
深拷贝得方法:JSON.parse , JSON.stringfy new createObj = JSON.parse(JSON.stringfy(Obj))
含义:将数据变成一个字符串,将其地址进行销毁,在进行转换成object格式,那么就变成了深拷贝
持续连载中..........