迪捷:
- Vue设计模式:mvvm
- this对象指向判定
什么是this?this是用来做什么的?这是首先我们必须知道的
this它是js的一个关键字,用来指向某一个对象
如何判断this指向?
函数(方法)内
一种以函数的方式调用(不带.)this指向window
一种以方法的形式调用(函数名前面带.)this指向点前面的
函数(方法)外,this指向window
this指向的特列:
1、自调用函数内的this都是window
2、定时器的this指向window
3、事件里面的this指向触发事件的元素
4、构造函数里的this指向它的实例
怎样替换函数内的this
(1) Call()
(2) Apply()
(3) Bind()
Call和apply,bind只能是函数(方法)或者函数对象的
3. 画一个圆
div一般是一个矩形,但是如果设置一个圆角样式border-radius就可以将div变成圆形。
-
flex布局:
-
多端形态:
-
axios二次封装
异步请求
Vuex结合Axios异步请求数据的封装 -
typeof instance of
-
回流 重绘
-
解析html生成DOM树,解析css,生成CSSOM树,将DOM树和CSSOM树结合,生成渲染树;
- 根据渲染树,浏览器可以计算出网页中有哪些节点,各节点的CSS以及从属关系 - 回流
- 根据渲染树以及回流得到的节点信息,计算出每个节点在屏幕中的位置 -重绘
- 最后将得到的节点位置信息交给浏览器的图形处理程序,让浏览器中显示页面
减少回流重回: 合并样式修改 批量操作DOM
- webpack
- 往哪方向发展
学科网笔试:
- node.js基本架构和事件循环
- Object.creat({})与Object.creat(null)
- 元素竖向百分比是相对于容器宽度的
- rem em vh vw
- 1&&2=1
- null==void 0
- 类数组
类数组相当于一个对象,key是数字,或者数字的字符串形式,并且拥有length属性
arguments
获取Dom元素方法返回的结果(比如getElementsByTagName)
如何让类数组使用上数组丰富的内建方法?
- 调出数组的方法
- 运用call或者apply显示绑定this的指向
- script 载入阻塞
面经:
1.url展现过程
2.回流 重回
3.v-show v-if
都回导致回流重绘
控制手段:v-show
隐藏则是为该元素添加css--display:none
,占据的空间消失了dom
元素依旧还在。v-if
显示隐藏是将dom
元素整个添加或删除。
编译过程:v-if
切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件;v-show
只是简单的基于css切换
编译条件:v-if
是真正的条件渲染,它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。只有渲染条件为假时,并不做操作,直到为真才渲染
4.伪类和伪元素
根本区别在于:它们是否创造了新的元素。
伪类的效果可以通过添加实际的类来实现
伪元素的效果可以通过添加实际的元素来实现
所以它们的本质区别就是是否抽象创造了新元素
本质区别 一个是类 一个是元素
伪类:它只有处于DOM树无法描述的状态下才能为元素添加样式
5.基本类型和复杂类型为什么这个区分?堆和栈怎么区分
基本数据类型是按值访问的,因为可以直接操作保存在变量中的实际值
栈(stack) :栈会自动分配内存空间,会自动释放,存放基本类型,简单的数据段,占据固定大小的空间。
堆的大小可动态分配 栈给定一个大小
将复杂数据类型放在堆中的目的是为了不影响栈的效率,而是通过引用的方式去堆中查找。简单数据类型比较稳定,并且它只占据很小的内存,讲它放在空间小、运算速度快的栈中,能够提高效率。
6.垃圾回收