1.懒加载,预加载的实现css
懒加载:前端
原理:使用一张loding图片做为占位图,当当前须要加载的图片在可视区时等原图加载完成替换loding图片vue
预加载:react
原理:使用一张低清晰度小图顶住原图片位置,待原图片下载完成替换成高清原图小程序
2.前端优化方案后端
1. js/css等使用不一样地址cdn分发,单个有速度限制浏览器
2. js/css压缩/合并/混淆缓存
3. 按需加载微信
4.合理利用sync/defer(sync没法肯定顺序异步加载,defer等页面完成后顺序加载css/js)cookie
3.小程序的登陆
1.前端使用wx.login 获取code
2.经过wx.requer将请求回来的code传递给后台
3.后台经过将code和appid,appsecret组合加密后向微信请求open_id 和sesstion_key
4.后台接收后处理返回给前端,前端存储在缓存中
5.之后每次请求将返回的密钥附带提交给后端
4.vue 和react 的异同
相同点:都推崇组件开发
只关注视图部分
都有配套的全家桶
均可以使用构建工具快速构建项目
都有props想子组件传递数据的概念
差别: vue推崇使用模板语法 react使用jsx语法
vue是数据双向绑定 react是单向数据流
vue的是mvvm react是mvc
5.小程序跟vue 对比异同
6.做用域/闭包
做用域(即上下文)
做用域分为两种
1.全局做用域(window) 整个程序中均可以访问到
2.局部做用域 局部做用域能访问全局做用域,全局做用域访问局部做用域报错
闭包 是可以读取其余函数内部变量的函数
function closure(){ let test = 10 ; return function(){ return test++; } } // 调用函数(该函数调用后由于在返回函数中有test的引用全部计数器并不为0 因此并未释放空间) let test = closure(); // 第一次调用 test(); // 11 // 第二次调用 test(); //12 // 若并未赋值给变量直接使用则每次使用完后释放空间 closure()(); // 11 closure()(); //11
8.cookie,sessionStorage,localStorage区别
1.cookie(大小限制4K,且每次提交cookie都会携带给后台)
2.sessionStorage 窗口关闭时 缓存数据清空
3.localStorage 当前浏览器永久缓存(大小比较大5M)
3.1 在隐私模式下没法读取
3.2 字符串类型
3.3 占用内存大小过多页面容易变卡
3.4不能被爬虫抓取