摘要: 树 概念相关术语特点树的性质二叉树概念几个特殊的二叉树二叉树的性质 概念 树:非顺序(线形)数据结构;基于结点的数据结构,但树里面的每个结点,可以含有多个链分别指向其他多个结点。 相关术语 ​ 根节点:位于树顶部的节点叫做根节点,没有父节点。 ​ 内部节点和外部节点(支节点和叶子节点): ​ 树中每 阅读全文
posted @ 2020-07-22 03:38 CD、小月 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 九种跨域方式实现原理 前言什么是跨域?什么是同源策略及其限制内容?常见跨域场景 跨域解决方案jsonpJSONP 原理JSONP 和 AJAX 对比JSONP 优缺点JSONP 的实现流程jQuery 的 jsonp 形式 cors简单请求复杂请求 postMessagewebsocketNode 阅读全文
posted @ 2020-05-13 17:32 CD、小月 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 原型和原型链 原型 构造函数 原型链 注意点 JavaScript 中没有类的概念的,主要通过原型链来实现继承。通常情况下,继承意味着复制操作,然而 JavaScript默认并不会复制对象的属性,相反,JavaScript只是在两个对象之间创建一个关联(原型对象指针),这样,一个对象就可以通过委托访 阅读全文
posted @ 2020-05-13 00:05 CD、小月 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 定义 备忘录模式,在不破坏对象封装性的前提下,在对象之外捕获并保存该对象的内部状态,以便日后在该对象使用时恢复到之前的某个状态。 问题引入 // 事件:下一页 $('#next_page_btn').click(function() { // 获取新闻列表容器 var $news = $('#new 阅读全文
posted @ 2020-05-12 00:54 CD、小月 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 定义 桥接模式(Bridge),将抽象部分与实现部分分离,使他们可以独立的变化。 这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 桥接模式需要一个 桥,来连接抽象部分和实现部分。 桥接模式,在系统中沿着多个维度变化,不仅不会增加系统的复杂度,还可以达到解 阅读全文
posted @ 2020-05-11 23:42 CD、小月 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 定义: 抽象工厂其实是实现子类继承父类的方法,只是一个方法。抽象工厂模式一般用在多人协作的超大型项目中,并且严格的要求项目以面向对象的思想进行完成。 简单工厂模式和工厂模式都是直接生产实例的,抽象工厂更像是生产工厂,其实抽象工厂其实是实现子类继承父类的方法。 说白了 抽象工厂模式 我认为就是工厂功能 阅读全文
posted @ 2020-05-08 19:04 CD、小月 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 设计模式总结 设计原则和编程技巧单一职责原则(SRP)定义设计模式中体现何时应该分离职责SRP 原则的优缺点 最少知识原则(LKP)- 迪米特法则定义设计模式中体现封装在最少知识原则中的体现 开放-封闭原则定义最佳实践(帮助我们编写遵守开放-封闭原则的代码)设计模式中体现接受第一次愚弄开放- 封闭原 阅读全文
posted @ 2020-05-06 23:59 CD、小月 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 适配器模式的作用是解决两个软件实体间的接口不兼容的问题。使用适配器模式之后,原本由于接口不兼容而不能工作的两个软件实体可以一起工作。 适配者模式: 主要用于解决两个接口之间不匹配的问题。 例子: 我们向 googleMap 和 baiduMap 都发出“显示”请求时, googleMap和 baid 阅读全文
posted @ 2020-05-05 11:13 CD、小月 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 状态模式的关键是区分事物内部的状态,事物内部状态的改变往往会带来事物的行为改变。 状态模式: 将事物内部的每个状态分别封装成类, 内部状态改变会产生不同行为。 通常我们谈到封装,一般都会优先封装对象的行为,而不是对象的状态。但在状态模式中刚好相反,状态模式的关键是把事物的每种状态都封装成单独的类,跟 阅读全文
posted @ 2020-05-05 10:52 CD、小月 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式(使用装饰函数装饰对象)可以动态地给某个对象添加一些额外的职责,而不会影响从这个类中派生的其他对象 在 JavaScript 中,几乎一切都是对象,其中函数又被称为一等对象。在平时的开发工作中,也许大部分时间都在和函数打交道。在 JavaScript 中可以很方便地给某个对象扩展属性和方法 阅读全文
posted @ 2020-05-04 00:01 CD、小月 阅读(1) 评论(0) 推荐(0) 编辑