1.watch 是一个对象时,它有哪些选项?
handler 当监听对象时
deep 是否深度
immeditate 是否立即执行。
2.如何在TypeScript中实现继承?
继承可以通过使用extend关键字来实。
3.TypeScript是否支持所有面向对象的原则?其面向对象编程的四个主要原则有哪些
支持。
封装,
继承,抽象,
多态性。
3.Promise的缺点?
1). 无法取消Promise,一旦创建他就会立即执行,无法中途取消
2). 如果不设置回调函数,Promise内部抛出的错误,不会反应到外部
3). 当处于Pending状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将结束)
4.Vue.js <keep-alive></keep-alive> 的作用是什么?
从缓存中快速渲染,包裹动态组件时,会缓存不活动的组件实例,主要用于保留组件状态或避免重新渲染
5.如何在父组件中给子组件绑定一个原生的事件
.native
6.px和em的区别
px表示像素,是绝对单位,不会因为其他元素的尺寸变化而变化;
em表示相对于父元素的字体大小。em是相对单位,没有一个固定的度量值,而是其他元素尺寸来决定的相对值。
7.display:none和visibility:hidden区别?
1.display:none是彻底消失,不在文档流中占位,浏览器也不会解析该元素;visibility:hidden是视觉上消失了,可以理解为透明度为0的效果,
在文档流中占位,浏览器会解析该元素;
2.使用visibility:hidden比display:none性能上要好,display:none切换显示时visibility,
页面产生回流(当页面中的一部分元素需要改变规模尺寸、布局、显示隐藏等,页面重新构建,
此时就是回流。所有页面第一次加载时需要产生一次回流),
而visibility切换是否显示时则不会引起回流。
闭包的好处和坏处
好处
可以读取函数内部的变量
将变量始终保持在内存中
可以封装对象的私有属性和私有方法
坏处
比较耗费内存、使用不当会造成内存溢出的问题
8.为什么typeof null是Object
因为在JavaScript中,不同的对象都是使用二进制存储的,如果二进制前三位都是0的话,系统会判断为是Object类型,而null的二进制全是0,自然也就判断为Object
9.什么是盒子模型?
在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边距(margin)四个部分。这四个部分占有的空间中,有的部分可以显示相应的内容,而有的部分只用来分隔相邻的区域或区域。4个部分一起构成了css中元素的盒模型。