1.简单描述一下箭头函数中的this指向,以及与普通函数中this的区别
答案:
箭头函数中的this
1.箭头函数没有自己的this, 它的this是继承而来; 默认指向在定义它时所处的对象(宿主对象),而不是执行时的对象, 定义它的时候,可能环境是window; 箭头函数可以方便地让我们在 setTimeout ,setInterval中方便的使用this
2.箭头函数中,this指向的固定化,并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this。
普通函数中的this:
1. this总是代表它的直接调用者(js的this是执行上下文), 例如 obj.func ,那么func中的this就是obj
2.在默认情况(非严格模式下,未使用 'use strict'),没找到直接调用者,则this指的是 window (约定俗成)
3.在严格模式下,没有直接调用者的函数中的this是 undefined
4.使用call,apply,bind(ES5新增)绑定的,this指的是 绑定的对象
2.常用的redux中间件有哪些,请列举一些,并选择一种简单描述一下其数据流转流程。
答案:
redux-saga和redux-thunk,
redux-thunk:UI——>action1(side function)—>redux-thunk监听—>执行相应的有副作用的方法—>action2(plain object)—>reducer—>state—>UI
redux-saga:action1(plain object)——>redux-saga监听—>执行相应的Effect方法——>返回描述对象—>恢复执行异步和副作用函数—>action2(plain object)
3.请列举一些webpack中常用的一些加载器loader。
答案:
babel-loader:
告诉webpack我想要对我的js代码进行兼容性编译
具体配置文件可以新建新建.babelrc, 通过配置一些参数配合webpack进行打包压缩
file-loader:
将webpack将所需的对象作为文件发送,并返回其公共URL.
url-loader
url-loader 功能类似于 file-loader,但是在文件大小(单位 byte)低于指定的限制时,可以返回一个 DataURL。
css-loader
加载.css
style-loader
通过 style 标签 注入到dom中
sass-loader
加载sass和scss的file编写到css中