一些面试题
1、介绍下js的防抖与节流 ?
防抖:在一定时间内,事件触发多次,只有最后一次生效 -> 搜索框(减少请求次数,减轻服务器压力)
节流:在一定时间内,事件只能触发一次
2、说说Object.defineProperty()?
Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。
语法:Object.defineProperty(obj, prop, descriptor)
参数:
obj:目标对象
prop:需要定义的属性或方法的名字。
descriptor:目标属性所拥有的特性。
3、 Jsonp原理是什么?
利用script标签的特性,将数据使用json格式用一个函数包裹起来,然后在进行访问的页面中定义一个相同函数名的函数,因为 script 标签src引用的js脚本到达浏览器时会执行,而我们有定义了一
个同名的函数,所以json格式的数据,就做完参数传递给了我们定义的同名函数了。这样就完成了跨域数据交换。
4、概述浏览器的回流与重绘
回流:是指浏览器为了重新渲染部分或者全部的文档而重新计算文档中元素的位置和几何构造的过程。
重绘:是填充像素的过程。它涉及绘出文本、颜色、图像、边框和阴影,基本上包括元素的每个可视部分。在重绘阶段,系统会遍历渲染树,并调用渲染对象的“paint”方法,将渲染对象的内容显示在屏幕上。
注意:回流必将引起重绘,而重绘不一定会引起回流。
5、事件委托是什么?有什么好处?
6、js 的事件循环是什么?
7、什么是双向数据绑定?好处是?
8、什么是mvvm?它的工作原理是什么?
9、v-html ?
10、v-bind ?
11、介绍下双向数据绑定指令?
12、vue中常见的事件修饰符?
13、v-if和v-show的区别?
14、列表渲染指令如何使用?
15、使用key的注意事项有哪些?
16、介绍下vue过滤器,如何使用?
17、介绍下computed及其语法?
18、介绍下watch及其语法?
19、computed和methods的区别?
20、computed和watch的区别?