1.宏任务、微任务、主任务的执行顺序:
主任务:new Promise、
宏任务:setTimeout
微任务:Promise下的then属于微任务
代码执行顺序:主任务>微任务>宏任务
2.计算属性与watch的区别:
(1)计算属性有缓存,当缓存的以来发生变化时,重新计算,返回一个新值;
(2)计算属性有getter和setter,监听属性没有get和set;
(3)计算属性用来同步执行计算数据,监听属性可以异步事件。
3.隔代组件数据传参的方式:
(1)props
(2)$emit
(3)provide 和inject
(4)eventBus
(5)$ref
(6)listener
(7)root
4.mixins生命周期和页面生命周期的执行顺序:
mixins > 页面生命周期
5.重排和重绘的区别:
重排(回流):对DOM的大小、位置进行修改后,浏览器需要重新渲染;
重绘:对DOM的样式进行修改,如color和background-color
6.css哪些属性可以继承?
1.字体:font
2.文本:line-height
3.元素的可见性:visibility
4.列表属性:list-style
5.布局:border-spacing
7.js的三大组成部分:
ECMAScript:js的核心内容,描述语言的基本语法,比如var,for,数据类型(数组、字符串);
文档对象模型(DOM):DOM把整个html页面化为元素构成的文档;
浏览器对象模型(BOM):对浏览器窗口进行访问和操作
8.js有哪些内置对象?
string\number\boolean\object\array\function\math\Regexp
Math
Date
Array
String
9.this指向的方法 及区别 :
call 、apply 、bind
call:第一个参数是this要指向的对象,其余参数是调用函数需要传入的参数;
apply:第一个参数是this要指向的对象,第二个参数是数组,表示调用函数需要传入的参数;
bind:bind( ) 是接收一个及其以上的参数,和call()一致,但是其返回是一个函数,而不是调用函数的返回结果。
10.js对数据类的检测方式有哪些?
typeof 返回数据类型
instance 返回boolean 'abc' instance String
constructor // ('abc').constructor===String
Object.prototype.toString.call()
10.new操作符具体做了什么?
-
解释 JavaScript 的原型链和它如何工作。
-
解释 JavaScript 的事件循环和它如何处理异步操作。
-
谈谈你对 JavaScript 的 this 关键字的理解。
-
解释 JavaScript 的执行上下文和作用域链。
-
什么是 JavaScript 的闭包?请给出一个实际的使用场景。
-
解释 JavaScript 的 Promise 和它的工作原理以及优缺点。
new Promise 是一个对象,封装了一个异步操作并且还可以获取成功或失败的结果。
promise主要是来解决回调地狱问题,之前如果异步任务比较多,同时他们之前有相互依赖关系,就只能使用回调函数处理,这样就容易形成回调地狱,代码的可读性差,可维护性也很差。
promise有三种状态:pending(初始状态)、fulfilled(成功)、rejected(失败)
pending -> fulfilled ; pending -> rejected 一旦发生,状态就会凝固,不会再改变。
-
谈谈你对 ES6 新特性的理解,比如 let、const、箭头函数、模块导入导出等。
-
解释 JavaScript 的高阶函数,并给出一些例子。
-
什么是 JavaScript 的纯函数?为什么它们在函数式编程中很重要?
-
解释 JavaScript 的立即执行函数表达式(IIFE)。
-
如何在 JavaScript 中实现继承?
-
解释什么是 JavaScript 的回调函数以及回调地狱,以及如何避免回调地狱。
-
解释什么是 JavaScript 的同步和异步编程。
-
解释 JavaScript 中的错误处理和异常处理。
-
解释 JavaScript 的内存管理和垃圾回收机制。
-
get和post的区别?
get一般是获取数据,post一般是提交或修改数据;
get参数是放到url上,所以安全性比较差;post是放在body中;
get请求刷新服务器或退回是没有影响的,post请求退回时会重新提交数据;
get请求时会被缓存,post请求不会被缓存;
get请求会被保存在浏览器历史记录中,post不会;
get请求只能进行url编码,post请求支持很多种(比如文件,表单);