javascript深入理解
写代码的小森森
上若善水
展开
-
1. javascript继承的方式
JS实现继承的几种方式前言JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。JS继承的实现方式既然要实现继承,那么首先我们得有一个父类,代码如下:// 定义一个动物类function Animal (name) { // 属性 this.name = name || 'Animal';转载 2017-05-31 10:11:08 · 446 阅读 · 1 评论 -
6. JavaScript 设计模式(策略模式,桥接模式)
关于策略模式和桥接模式,我觉得一起说会更加明白,毕竟这两个模式太像了。连uml图都90%一样的。 不多说废话了,还是先做介绍和代码的实现,再做比较吧。1. 策略模式 定义一系列的算法,把每一个算法封装起来,并且使它们可相互替换。个人觉得这个 uml 图比较简单,从定义来看也是比较容易看明白的。 举个简单的例子吧。 例如组团去郊游,然后去到动物园,进入动物园需要买票 对于小朋友春游来说,原创 2017-06-07 15:23:50 · 752 阅读 · 0 评论 -
5. JavaScript 设计模式(观察者模式)
观察者模式是什么东东呢?我先用生活的例子,简单说明一下吧。 ① 报社的业务就是出版报纸 ② A、B、C三个人想某个报社订阅了报纸,只要他们有新的报纸出版,就会给这三个用户送报纸。只要他们三个一直是这个报社的订户,就会一直收到新的报纸。 ③ 当这三个人,其中一个不再想看报纸的时候,取消订阅,他们就不会收到报纸。 ④ 只要报社还在运营,就会一直有人向他们订阅报纸或取消报纸。出版者 + 订阅者 =原创 2017-06-01 14:43:33 · 575 阅读 · 0 评论 -
4. JavaScript 设计模式(适配器模式,外观模式)
1. 适配器模式 什么是适配器。其实生活中都很多例子:例如插头和插座,插座是三角的,但是插头是二字行的插头,这时候我们经常会使用插头的转换器。其实这个就是适配器。还有其他的例子,例如安卓手机充电的时候的插头和苹果手机的插头,他们都可以用usb转换和插头连接。 将一个类的接口,转换成客户期望的另一个接口。适配器让原来接口不兼容的类可以合作无间。看看下面的例子: 如果一个火鸡走起路来像只鸭子,叫原创 2017-05-31 11:20:50 · 458 阅读 · 0 评论 -
3. JavaScript 设计模式(模板模式,建造者模式)
模板方法模式VS建造者模式!!! 二话不多,先学完在比较!!!1.模板模式 定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤。看完定义后,有点烦躁。。上例子!! 相信大家都去过星巴克喝东西吧。有茶,也有咖啡。 那先看看冲咖啡的步骤① 把水煮沸② 用沸水冲泡咖啡③ 把咖啡倒进杯子里④ 加糖和牛奶在原创 2017-05-27 16:53:28 · 607 阅读 · 0 评论 -
2. JavaScript 设计模式(简单工厂,工厂方法,抽象工厂)
简单工厂(simple factory) 简单工厂模式:又叫静态工厂方法,由一个工厂对象觉得创建某一种产品对象类的实例。主要用于创建同一类对象。简单工厂 uml 图格式如下: 由上面的uml图可知,工厂返回的对象是要继承Product类的,但是由于js定义变量是没有指定数据类型,也没有多态。那怎么怎么保证工厂返回的对象都继承Product呢?我自己想到了一个方法。原创 2017-05-26 14:40:19 · 592 阅读 · 0 评论 -
1. JavaScript 设计模式(单例)
1. JavaScript 设计模式(单例)单例单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。 但是,在javascript中,单例作为一个命名空间提供者,从全局命名空间里提供一个唯一的访问点来访问该对象。原创 2017-05-24 12:03:21 · 486 阅读 · 0 评论