摘要:
先引用jquery、jszip、FileSaver,然后封装下载方法: 一、引用 <script src="lib/jquery-3.4.0.min.js"></script> <script src="lib/jszip.min.js"></script> <script src="lib/FileSaver.min.js"></script> 二、方法封装 var FunLib = { // 阅读全文
摘要:
策略模式(Strategy Pattern): 定义:定义了一族算法; 封装了每个算法; 这族的算法可互换代替。 目的:将算法的使用与算法的实现分离开来。 场景:可用来消除大量的条件分支语句。 例:JS代码实现 // 策略算法封装 let strategy = { add (number1, num 阅读全文
摘要:
工厂模式(Factory Pattern): 定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行。 目的:工厂模式是为了解耦,把对象的创建和使用的过程分开。场景:需要生成复杂对象,需要降低耦合度的场景。 例子:JS代码实现 let operat 阅读全文
摘要:
/** * 深度比较两个对象是否相等 * @type {{compare: compareObj.compare, isObject: (function(*=): boolean), isArray: (function(*=): boolean)}} */ var compareObj = { // 比较两个对象是否相等 compare: function (oldDa... 阅读全文
摘要:
先创建公共文件error-reported.js 内容如下: /** * 获取前端错误信息进行上报 * @param iframe */export function catchError (iframe) { let _this = this || window let source = '来自外 阅读全文
摘要:
书本内容来自 书海阁《墨菲定律》 阅读全文
摘要:
/** * 合并两个函数 * @param functionA 先执行 * @param functionB 执行完 functionA 后返回 * @returns {*} */ function mergeFunction (functionA, functionB) { if (!functionA || !functionB) return var merge ... 阅读全文
摘要:
解决方法: 阅读全文
摘要:
README.md 阅读全文
摘要:
同这篇文章一样,用到了-webkit-overflow-scrolling: touch;属性。主要解决方案是在iframe外层添加一个div,然后设置-webkit-overflow-scrolling属性。 例如: MDN文档:https://developer.mozilla.org/zh-C 阅读全文