
JavaScript
CyberPunk66
这个作者很懒,什么都没留下…
展开
-
如何优化代码中的多层if嵌套
前言 日常开发中经常要针对不同业务场景作出不同行为与判断,在最早接触的时候普遍都是使用如下代码进行业务区分: if(res.data.code===0){ //do something }else if(res.data.code===1002){ //do something }else if(res.data.code===1004){ //do something }else{ //do s...原创 2020-02-12 11:28:55 · 5220 阅读 · 0 评论 -
vue无法检测数组变动的原因
前言 在vue 2.x版本中,vue无法对数组的增加、删除等操作进行检测并派发视图更新。同理,对于已创建对象实例的属性增加、删除操作也会无法达到监听的目的,虽然对于诸如此类问题都有如$set、数组重构、主动通知vue更新等相应的解决办法。但是对于其产生原理,则需要从vue的响应式实现方式谈起。 响应式原理 在vue 2.x版本中,针对每一个对象的属性,都是采用的Object.definePrope...原创 2019-12-31 16:12:50 · 910 阅读 · 1 评论 -
使用electron打包vue项目成为应用程序流程及常见问题解答
为什么选择electron? 版本兼容性 当项目主体针对的医院、政府等单位,一般还在使用相对老旧版本的系统与浏览器,无法对vue框架、ES6等新特性进行支持时,使用electron将web程序打包成exe应用程序即可解决大部分的版本兼容性问题。除非摒弃现有技术栈转而回去写原生的代码,否则你大部分掌握的新语法、新特性与新技术都将得不到应用。 混合化开发 类似使用RN或flutter,采用跨平台开发而...原创 2019-12-25 14:28:56 · 937 阅读 · 0 评论 -
2019年中级前端自检清单
Javascript: 基本数据类型,基本类型和引用类型之间的差异; 熟练运用es6提供的语法规范; 熟悉基本数据类型对应的操作方法,特别是数组和对象; 理解javascript基于原型编程的原理(这回事),理解原型,原型链; 熟悉es5和es6实现继承的方式; 理解作用域和执行上下文,能区分call,apply,bind三者之间的区别; 了解闭包,能说出在js中对于闭包的定义(闭包是什么东西);...原创 2019-12-03 09:32:38 · 314 阅读 · 0 评论 -
Promise.all解决多个async/await串行导致的加载缓慢问题
1.问题起源 源于某个线上小程序商城项目改造,项目需求为商城内的广告图及其点击跳转地址需做成可配置功能。 设计思路:将广告图地址与跳转地址数据存于数据库中,通过对应管理后台进行配置。于是为了精确赋值,在源码内便出现多个async/await的串行异步请求,导致负载压力过大时出现加载速度缓慢的问题。 2.解决方案 使用Promise.all()方法将多个async/await封装并发进行,具体如下:...原创 2019-12-03 09:28:29 · 2635 阅读 · 0 评论 -
apply()的巧妙用法
(1)Math.max 可以实现得到数组中最大的一项: 因为Math.max不支持Math.max([param1,param2])也就是数组,但是它支持Math.max(param1,param2…),所以可以根据apply的特点来解决 var max=Math.max.apply(null,array),这样就轻易的可以得到一个数组中的最大项(apply会将一个数组转换为一个参数接一个参 数的...转载 2019-03-04 15:32:50 · 1140 阅读 · 0 评论