- 博客(55)
- 收藏
- 关注
原创 根据 webpack-bundle-analyzer 插件对 vue 项目进行性能优化
vue项目性能优化:1)关闭 productionSourceMap: false;2)路由懒加载结合魔法注释;3)组件懒加载根据项目实际情况;4)element-ui 按需加载;5)使用 cdn 引入;
2022-04-01 11:39:36 1337
原创 JS 计算字符长度 String.charCodeAt(index)
String.charCodeAt(index) 返回指定索引位置的字符编码;String.charAt(index) 返回指定索引位置的字符;
2022-03-10 10:37:09 1029
原创 git 下载和全局配置
git 全局配置、查看配置git 全局配置git config --global user.email "you@example.com"git config --global user.name "youName"
2022-03-07 19:02:39 268
原创 axios请求方法封装
axios 介绍;axios 特性;axios 安装;axios 执行 get 请求;axios 执行 post 请求;axios API;创建 axios 实例;axios 实例配置;axios 请求方法封装;axios 请求方法使用;
2022-03-06 17:01:42 1115
原创 ES8 String 扩展:String.prototype.padStart()、String.prototype.padEnd()
String.prototype.padStart()/padEnd() 指定字符串填充到字符串头部/尾部,返回新字符串。第一个参数填充的长度,第二个参数长度不够需要补白的字符默认为空。案例:日期格式化,数字替换比如手机号、证件号。
2022-03-04 10:44:00 1518
原创 ES6、ES8 Object 扩展:Object.keys()、Object.values()、Object.entries()
Object.keys()、Object.values()、Object.entries()返回一个给定对象自身可枚举的属性(名/值/键值对)组成的数组
2022-02-28 20:11:06 308
原创 ES8:async await 更加优雅的异步编程解决方案
async 和 await 是一种更加优雅的异步编程解决方案,await 后面返回的是一个 Promise 对象;await 后面跟的代码会变成同步任务;案例使用 async await 发送接口请求
2022-02-25 19:44:05 418
原创 ES7:Array.prototype.includes()、幂运算符
Array.prototype.includes() 方法判断数组项中是否包含某个元素,返回 boolean,接收2个参数;indexOf() 方法搜索某个值在数组项中出现的索引位置,没找到的情况下返回-1;includes() 和 indexOf() 区别;find() 和 filter() 用法;幂运算符 **,Math.pow()
2022-02-23 19:08:43 275
原创 ES10:Object.fromEntries()、String.prototype.trim()、Array.prototype.flat()、Array.prototype.flatMap()
Object.fromEntries() 把一个二维数组转换成对象和 Object.entries() 相对;for...of 遍历数组后面跟的只要是可遍历的数据就可以;Object 转换、Map 转换成对象;案例过滤对象中的元素;Array.prototype.flat() 按照一个可指定的深度递归遍历数组;Array.prototype.flatMap() ;可选链 try..catch;JSON.stringify();
2022-02-22 14:59:48 638
原创 Promise 对象
Promise Ajax 请求函数封装;Promise 优势;Promise 内部状态;Promise 原型链方法;Promise 静态方法6个;
2022-02-21 17:48:46 356
原创 ES11 新增方法:Dynamic Import()、BigInt、globalThis、可选链(?.)、空值合并运算符
Dynamic Import() 动态导入、BigInt 表示任意精度的整数、globalThis 全局作用域中的 this 、可选链 Optional chaining(?.)、空值合并运算符(??)
2022-02-18 18:08:33 833
原创 git 回退到某个历史版本
git 回退到某个历史版本;git log 查看历史提交记录;git reset --hard id 回退到指定的版本;git push -f origin master 推送到远程分支;git status 查看状态;
2022-02-17 13:18:51 551
原创 vue 项目打包性能分析插件 webpack-bundle-analyzer
打包性能分析插件 webpack-bundle-analyzer 可以帮助我们分析 webpack 在打包过程中有哪些可以改进的地方
2022-02-16 10:06:07 2673
原创 Number.isInteger()
Number.isInteger() 确定传递值是否为整数,返回 boolean 型,如果是整数返回 true,否则 false
2022-01-29 15:09:56 663
原创 JS判断一个变量是否是数组
Array.isArray() 用于确定传递的值是否是一个 Array,返回 boolean 型;instanceof 判断一个变量是否是数组的实例对象;Array.isArray() 方法封装,Object.prototype.toString.call() 方法判断一个变量数据类型。
2022-01-28 17:49:06 1733
原创 JS 判断一个对象是否为空
JS判断一个对象是否为空对象有三种方式:JSON.stringify() 把对象转换成字符串进行判断;Object.keys() 把对象转换成数组进行判断;使用for...in循环遍历;
2022-01-27 16:49:11 897
原创 递归实现深拷贝
深拷贝使用递归去复制所有层级属性;JSON.stringify()和JSON.parse()组合也可以实现深拷贝;基本数据类型和引用数据类型有哪些?
2022-01-27 15:19:51 1829
原创 CryptoJS 加密算法类库MD5、Base64(一)
CryptoJS 加密算法类库、MD5和Base64区别、MD5加密、Base64加解密
2021-12-07 23:27:13 2384
原创 element 表单注册自动定位到校验失败位置、验证码倒计时
validator 验证器可以为指定字段自定义验证函数;validateField对部分表单字段进行校验的方法;resetFields对整个表单进行重置,将所有字段值重置为初始值并移除校验结果;手机验证码倒计时实现;
2021-12-07 21:31:35 1429
原创 合并对象 3 种方式
合并对象有 2 种方式:扩展运算符、Object.assign();扩展运算符和 Object.assign() 里面的元素是原始数据类型时,属于深拷贝;当里面的元素是引用数据类型时,属于浅拷贝;Object.is() 判断2个值是否相等属于严格比较;
2021-11-26 22:33:08 11309
原创 时间戳格式化
日期和月份不足 2 位数,用 0 填充;js 月份 0-11 之间,在计算月份时需要 +1;padStart、padEnd 填充字符串的开头和结尾;replace 方法替换日期格式
2021-11-22 21:46:55 111
原创 modules 模块
由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割:const moduleA = { state: () => ({ ... }), mutations: { ... }, actions: { ... },
2021-11-19 23:16:23 211
原创 vuex actions、mapActions、...mapActions(五)
actions 和 mutations 的区别?actions 函数第一个参数是 context,第二个参数是 payload 外界传入的值;在 method 事件中通过 this.$store.dispatch() 触发,触发传入的参数有 4 种形式;actions 中的函数可以使用对象解构赋值、对象解构赋值无顺序要求:第一个参数解构赋值 {commit, dispath,getters, rootGetters, rootState,state}
2021-11-17 23:05:30 867
原创 vuex mutations、mapMutations、...mapMutations(四)
只能通过 commit mutation 来修改 state 中的状态,this.$store.commit('事件名', 传入的额外参数可选);mutation 类似事件,每个 mutation 都有一个字符串的事件类型 type 和一个回调函数 handler;mutation 接收 state 作为它的第一个参数;mutation提交载荷方式可以向 this.$store.commit() 传入额外的参数,多数情况下载荷是一个对象;mutation 对象风格的提交方式,直接使用包含type属性的对
2021-11-15 22:48:43 1058
原创 vuex getters、mapGetters、...mapGetters(三)
getters 是将 state 中派生出的一些状态进行操作,如过滤列表中的元素;可以理解成 getters 是 store 的计算属性类似 computed;getters 接收 state 作为它的第一个参数;访问 getters 中的数据有 2 种方式:通过属性的形式访问会被缓存this.$store.getters;;通过方法的形式访问不会被缓存,可以往 getter 中传值,返回的是一个函数。
2021-11-14 22:23:14 709
原创 Vuex state、mapState、...mapState (二)
使用 computed 接收 state 返回的数据,有 4 种方式;子组件可以通过 this.$store.state 访问 store 状态中的值;mapState 辅助函数帮助我们生成计算属性,可以传入一个对象、也可以传入一个数组;对象展开运算符 ...mapState 函数返回的是一个对象,使用工具函数将多个对象合并为一个对象,最终把对象传给 computed 属性;
2021-11-13 22:33:20 1370
原创 vue components :is 动态组件
数组发生改变时,动态加载相应的数据场景:点击不同的组件名称,界面显示相应的组件监听对象中属性变化,深度监听...
2021-11-09 23:59:51 1891
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人