let currying= (fn, ...args) =>{ let _args= args || []; return (...rest)=>{ _arg...
![240](https://cdn2.jianshu.io/assets/default_avatar/9-cceda3cf5072bcdd77e8ca4f21c40998.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
let currying= (fn, ...args) =>{ let _args= args || []; return (...rest)=>{ _arg...
var browser = function(){ var navi=navigator.userAgent; return{ mob...
1、设置meta 2、设置外层盒子高度100% @supports ((height: constant(safe-area-inset-top)) or (height: ...
// babel-plugin-import@1.13.3 vue2 //"plugins": [ // ["import", { // "libraryName": ...
渲染过程 父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mou...
1、用户可见区域局部异步加载,其余区域滚动异步加载 2、数据缓存 3、合理设计接口数据结构,压缩数据,减少数据所占内存,前端后端合理分页,拆成多个http请求 4、虚拟列表 ...
hash,每次更新文件,则它及其依赖js或css重新生成新的文件hash chunkhash, 每次只有更新当前js才会生成新的hash,当前js引入的css文件也会跟随重新...
总结: tree-shaking optimization.usedExports是否开启标记无用js函数代码为/*unused harmony exports*/ opti...
1、Vue-Router路由懒加载(利用Webpack的代码切割) 2、使用CDN加速,将通用的库从vendor进行抽离 3、Nginx的gzip压缩和Webpack开启gz...
1、分析打包报告插件、light-house工具检测、network请求分析、 performance.timing分析白屏时间 performance.timing.dom...
vue-router路由钩子生命周期: 导航行为被触发,此时导航未被确认。 在失活的组件里调用离开守卫 beforeRouteLeave。 调用全局的 beforeEach ...
.container{ display: -webkit-box;/* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */ display: ...
babel-eslint eslint es babel解析器 eslint-plugin-prettier eslint代码采用prettier代码风格检查,高版本默认添加...
babel-eslint@8.2.6+ 配合 eslint@5.6.0+ @babel7 babel-loader 7.x对应babel-core 6.x babel-loa...
const PENDING = "pending"; const RESOLVED = "resolved"; const REJECTED = "rejected"; fu...
1、Promise.prototype.finally()方法用于指定不管 Promise 对象最后状态如何,都会执行的操作 2、Promise.all([p1, p2, p...
1、检查本地缓存是否有token, 有且wx.checkSession()未过期直接请求后端服务器,获取数据库用户信息,若过期,则执行以下步骤 2、wx.login(),获取...
JSON.stringfy(): 语法: JSON.stringify(value [, replacer] [, space]) value:是必选字段。就是你输入的对象,...
match默认匹配正则返回第一个结果及下标位置;/g则返回所有结果 与exec区别:exec会一次一次从左到右匹配并返回结果及下标位置。 相同点:无匹配结果返回null; 全...
空白行的正则表达式:\n\s*\r (可以用来删除空白行) HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> 千分位分隔符正则表达式:/(...