1、promisepromise就是一个状态机用来解决异步问题在es6之前前端通过回调函数来执行因为它是一个单线程的那如果我们有多个异步操作的话就会产生一个回调嵌套回调地狱的问题那promise是一个状态机它刚开始是一个pendding状态然后通过resolve改成fulfilled通过reject改成rejected,那我们可以在promise里面执行异步操作当异步操作完成之后掉resolve或者reject就可以了然后在then里面就可以执行它后续的操作把一个异步操作变成一个链式调用在then里面再返回一个promise后面还可以在接着一个then,这样我们可以把一些异步操作串起来支持多个并发请求2、普通函数和箭头函数写法不同this指向不同function中的this执行环境的不同而不同箭头函数的this是它自己执行环境最近非箭头函数的thisfunction可以被new 实例化箭头函数不可以不能用作构造器function可以被声明提前箭头函数不可以必须先声明后使用不然会报错3、defer和async的区别4、跨域协议域名端口必须一致否则就会受到浏览器同源策略的影响proxyngxinwindow.name iframejsonp跨域资源贡献CORS服务端设置Access-Control-Allow-Origin即可5、服务端渲染和客户端渲染区别服务端渲染页面的数据和渲染都是由服务器提供的浏览器只用来展示页面内容容易被爬虫爬取数据同时能被搜索引擎搜索到能在搜索引擎中向用户展示数据客户端渲染页面的渲染工作都是由浏览器来完成的服务器只是负责提供数据。客户端渲染能尽早的把页面展示给用户用户体验好不容易被爬虫爬取数据同时也无法被搜索引擎搜索到6、import和require的区别import编译时加载require运行时加载import只加载引入的方法require先把整个文件加载再读取里面的方法require默认非严格模式import默认严格模式即使没有在顶部加上use strict7、history和hash的区别history没有#URL发生变化会向后端服务器发送请求history是两个API pushState() replaceState()和一个事件onpopstate监听URL变化hash通过监听浏览器的onhashChange()事件监听变化查找对应的路由规则query:拼在url?后面刷新页面参数不会丢失用path搭配params:动态路由参数只能搭配name跳转刷新页面会丢失可以放在local或者pinia里面8、强制缓存和协商缓存浏览器的缓存主要是为了提高访问效率强制缓存首次访问一个网站里面的一些静态资源eg.图片、css、js实际上是从服务器上下载的如果刷新页面的话这个资源是没必要在服务器上重新去请求因为他们没有变动这种资源浏览器默认是强制缓存强制缓存第二次访问的时候不会去服务器上重新下载了同样会返回200状态码但是资源是从浏览器的本地的缓存里面获取的。协商缓存和后台去协商如果是协商缓存第一次返回的结果里面返回一个200的状态码同时会携带一个是否更新last modify 一个状态还会返回一个唯一标识etag只要资源在服务端没有变化下次访问的时候后台对比这个etag唯一标识或者last modify的状态如果没有变化会返回一个304的状态浏览器接受到304状态浏览去会从本地把缓存的资源取出来uniapp1、Uni-app就是用着vue的指令和小程序的组件和API2、onPullDownRefresh可以监听到下拉刷新的动作3、uniapp缓存同步uni.setStorageSync获取uni.getStorageSync异步uni.setStorage获取uni.getStorage4、路由跳转方式标签navigator urluni.navigate to({url:}),保留当前页面跳转到应用的某个页面uni.navigateBack关闭当前页面返回上一页面或多级页面uni.redirectTo({}) 关闭当前页面跳转其它页面uni.reLaunch关闭所有页面跳转到其他页面打开任意页面uni.switchTab 关闭所有非tabBar页面只能打开tabBar页面不能url传参5、应用生命周期onLaunch——当uni-app 初始化完成时触发全局只触发一次onShow——当 uni-app 启动或从后台进入前台显示onHide——当 uni-app 从前台进入后台onError——当 uni-app 报错时触发onUniNViewMessage——对 nvue 页面发送的数据进行监听可参考 nvue 向 vue 通讯onUnhandledRejection——对未处理的 Promise 拒绝事件监听函数2.8.1onPageNotFound——页面不存在监听函数onThemeChange——监听系统主题变化6、页面生命周期onInit——监听页面初始化其参数同 onLoad 参数为上个页面传递的数据参数类型为 Object用于页面传参触发时机早于 onLoadonLoad——监听页面加载其参数为上个页面传递的数据参数类型为 Object用于页面传参参考示例onShow——监听页面显示。页面每次出现在屏幕上都触发包括从下级页面点返回露出当前页面onReady——监听页面初次渲染完成。注意如果渲染速度快会在页面进入动画完成前触发onHide——监听页面隐藏onUnload——监听页面卸载onResize——监听窗口尺寸变化