摘要:
这一篇我们主要来学习装饰者模式、策略模式以及外观模式。其中装饰者模式稍微复杂一点,大家认真阅读,要自己动手去实现一下哦。 四、装饰者模式 在装饰者模式中,可以在运行时动态添加附加功能到对象中。当处理静态类时,这可能是一个挑战。在JavaScript中,由于对象是可变的,因此,添加功能到对象中的过程本 阅读全文
摘要:
这些模式已经出现了相当长的一段时间,并被证明在许多情况下都非常有用。这也是为什么需要自己熟悉并谈论这些模式的原因。 虽然这些设计模式是与语言和实现方式无关的,并且人们已经对此研究了多年,但都主要是从强类型的静态类语言的角度开展研究,比如C++和Java语言。 JavaScript是一种弱类型、动态的 阅读全文
摘要:
原型链、闭包、事件循环等,可以说是js中比较复杂的知识了,复杂的不是因为它的概念,而是因为它们本身都涉及到很多的知识体系。所以很难串联起来,有一个完整的思路、脉络。我最近想把js中有意思的知识点都总结整理一下,虽然逃不开一些一模一样的内容,但是自己造一下轮子,按照自己的思路,也别有一番味道。 这篇文 阅读全文
摘要:
我们之前聊了聊基本的继承的概念,也聊了很多在JavaScript中模拟类的方法。这篇文章,我们主要来学习一下现代继承的一些方法。 九、原型继承 下面我们开始讨论一种称之为原型继承(prototype inheritance)的“现代”无类继承模式。在本模式中并不涉及类,这里的对象都是继承自其他对象。 阅读全文
摘要:
上一篇讲了最简单的代码复用模式,也是最基础的,我们普遍知道的继承模式,但是这种继承模式却有不少缺点,我们下面再看看其它可以实现继承的模式。 四、类式继承模式#2——借用构造函数 本模式解决了从子构造函数到父构造函数的参数传递问题。本模式借用了父构造函数,它传递子对象以绑定到this,并且还转发任意参 阅读全文
摘要:
我们有开始进入新篇章了。这篇内容主要讲代码复用模式,实际上代码复用,就是继承啊,原型啊,构造函数啊等等这一类的内容。对于前端进阶来说,是很重要的基础知识。这一篇内容会对原型、 继承有很深入的讲解。我也会尽我所能的为大家讲清楚、分析透彻。 代码复用是一个非常重要而且有趣的主题,简而言之,这是由于人们很 阅读全文
摘要:
我们学完了大部分对象创建模式相关的内容,下面还有一些小而精的部分。 七、对象常量 JavaScript中没有常量的概念,虽然许多现代的编程环境可能为您提供了用以创建常量的const语句。作为一种变通方案,JavaScript中常见的一种方法是使用命名约定,使那些不应该被修改的变量全部用大写字母以突出 阅读全文
摘要:
这一篇,我们主要来学习了解下沙箱模式以及静态成员的相关内容。 五、沙箱模式 沙箱模式(sandbox pattern)解决了命名空间模式的如下几个缺点: 对单个全局变量的依赖变成了对应用程序的全局变量的依赖。在命名空间模式中,是没办法使同一个应用程序或库的两个版本运行在同一个页面中,这是因为两者都需 阅读全文
摘要:
这一篇,我们主要来学习一下私有属性和方法以及模块模式。 三、私有属性和方法 JavaScript并没有特殊的语法来表示私有、保护、或公共属性和方法,在这一点上与Java或其他语言是不同的。JavaScript中所有对象的成员是公共的: var myobj = { myprop:1, getProp: 阅读全文
摘要:
这又是一个新的开始,对象的重要性不言而喻。在JavaScript中创建对象是十分容易的,之前聊过的对象字面量和构造函数都可以达到目的。但是本篇中,我们越过那些方法,以寻求一些额外的对象创建模式。 本篇内容,我们将学到命名空间(namespace),依赖声明(dependency declaratio 阅读全文