-
内存管理是指软件运行时对计算机内存资源的分配和使用的技术。
-
es6:
-
es6 数据互换
-
promise:
-
fetch、ajax、axios:
- fetch: es6出现的一种异步请求方式,为了替换ajax,通过promise
-
-
axios:
- axios拦截器:(axios:baseurl,headers)在通过axios发送请求时,对发送请求的限制
-
html5:
- embed:html5引入插件、代码段
-
js:
-
检测数据类型的方法:Object.prototype.toString.call()
-
继承(对象与对象之间):混入式继承、替换原型继承、混合式继承、构造函数继承
-
array:
- reduce: 从左至右将数组一个个计算,两个参数,回调函数,传递给函数的初始值(函数形参)
- map:将旧数组经过传入的方法计算后返回计算后的新数组,两个参数,回调函数,this指向的值
- from:将对象转换成数组,有三个参数,转换对象,回调函数,this指向的值
-
-
vue:
-
vue封装插件(axios):1、创建插件对象,2、这个插件暴露一个 install 方法,这个方法有两个参数,参数一:Vue构造器,参数二:可选对象,在这个方法中添加自己的逻辑,最后暴露给外界
-
路由守卫:在页面路由跳转时,对路由跳转的限制
-
.native: 在vue中可以将原生事件绑定到组件
-
vue插槽:1、v-slot; 插槽,v-slot需要配合template是使用,拥有name属性,拥有两个插槽,(作用域插槽可以实现子传父,不需要使用$emit)
-
keep-alive: 相当于微信小程序中的 block,在vue中主要用来包裹多个组件,让这些组件成为一个整体 (一个包裹组件)
-
computed、watch、method区别:
- computed:1、在模板内使用表达式方便,但是会使模板负担过重且不便于维护(在页面要使用大量的表达式时,我们就可以使用computed计算属性) 2、只有当computed依赖数据改变时,才会重新执行获取数据,否则将会重内存中读取数据 3、必须有return返回值
- watch:1、主要使用于异步请求操作,可以实现 2s 内更新数据,而computed不可以
- methods:1、每次进入页面都会执行methods中的方法 2、在写法上,computed不能加(),methods可以加() 3、必须有返回值
-
vuex:
- mutation action 区别:
- mutation: 提交 state 使用,执行一些同步代码,使用 $store.commit() 调用(只能执行同步代码)
- action:提交 mutation 使用,执行一些异步代码,使用 $store.dispatch() 调用(可以执行异步代码,无法直接操作 state)
- mutation action 区别:
-
html()会产生脚本跨域攻击
-
为什么要用同源策略:设置同源限制主要是为了安全,如果没有同源限制存在浏览器中的cookie等其他数据可以任意读取,不同域下DOM任意操作,ajax任意请求的话如果浏览了恶意网站那么就会泄漏这些隐私数据
-
-
token失效处理: 使用axios的拦截器,在请求拦截的时候判断是否有token,在响应拦截里判断后端给的状态码,如果token过期,给出提示,是否跳转登录。如果需要一直让token有效那就写个定时刷新token的方法,其它基本都不能达到这种效果
-
Vue.nextTick(callback):vue中更新DOM是异步的,当我们在vue中直接操纵DOM时,数据不会立刻更新,这时我们需要在数据变化之后等待vue完成更新DOM,在数据变化之后立即使用Vue.nextTick(callback),这样回调函数将在DOM更新完成后被调用