摘要:首先,有一点要声明,下面所有文章的所有内容的代码,都不是我一个人独立完成的,它们来自于一本叫做《学习JavaScript数据结构和算法》(第二版),人民邮电出版社出版的这本书。github代码地址是https://github.com/loiane/javascript-datastructures 阅读全文
posted @ 2018-05-10 20:37 Zaking 阅读(1890) 评论(0) 推荐(3) 编辑
摘要:四、长期运行脚本 可能会注意到有时候浏览器会提示某个脚本已经运行了很长时间,是否应该停止该脚本。实际上无论要处理多么复杂的任务,都不希望应用程序发生上述事情。而且,如果该脚本的工作十分繁重,那么浏览器的UI将会无法响应用户的任何操作。这将给用户带来十分不好的体验,应该尽量避免。 在JavaScrip 阅读全文
posted @ 2020-09-02 14:55 Zaking 阅读(141) 评论(0) 推荐(0) 编辑
摘要:在本书的前面章节中,我们主要集中关注于核心JavaScript(ECMAScript),而并没有太多关注在浏览器中使用JavaScript的模式。本章将探索一些浏览器特定的模式,因为浏览器是使用JavaScript最为常见的环境。同时也是很多人不喜欢使用JavaScript的原因,他们认为JavaS 阅读全文
posted @ 2020-09-02 14:54 Zaking 阅读(127) 评论(0) 推荐(0) 编辑
摘要:这一篇,我们学习本篇中最为复杂的三个设计模式,代理模式、中介者模式以及观察者模式。这三个模式很重要!! 七、代理模式 在代理设计模式中,一个对象充当另一个对象的接口。它与外观模式的区别之处在于,外观模式中您所拥有的是合并了多个方法调用的便利方法。代理则介于对象的客户端和对象本身之间,并且对该对象的访 阅读全文
posted @ 2020-09-02 14:53 Zaking 阅读(158) 评论(0) 推荐(0) 编辑
摘要:这一篇我们主要来学习装饰者模式、策略模式以及外观模式。其中装饰者模式稍微复杂一点,大家认真阅读,要自己动手去实现一下哦。 四、装饰者模式 在装饰者模式中,可以在运行时动态添加附加功能到对象中。当处理静态类时,这可能是一个挑战。在JavaScript中,由于对象是可变的,因此,添加功能到对象中的过程本 阅读全文
posted @ 2020-09-02 14:30 Zaking 阅读(101) 评论(0) 推荐(0) 编辑
摘要:这些模式已经出现了相当长的一段时间,并被证明在许多情况下都非常有用。这也是为什么需要自己熟悉并谈论这些模式的原因。 虽然这些设计模式是与语言和实现方式无关的,并且人们已经对此研究了多年,但都主要是从强类型的静态类语言的角度开展研究,比如C++和Java语言。 JavaScript是一种弱类型、动态的 阅读全文
posted @ 2020-09-01 17:31 Zaking 阅读(127) 评论(0) 推荐(0) 编辑
摘要:原型链、闭包、事件循环等,可以说是js中比较复杂的知识了,复杂的不是因为它的概念,而是因为它们本身都涉及到很多的知识体系。所以很难串联起来,有一个完整的思路、脉络。我最近想把js中有意思的知识点都总结整理一下,虽然逃不开一些一模一样的内容,但是自己造一下轮子,按照自己的思路,也别有一番味道。 这篇文 阅读全文
posted @ 2020-08-17 15:40 Zaking 阅读(427) 评论(0) 推荐(0) 编辑
摘要:我们之前聊了聊基本的继承的概念,也聊了很多在JavaScript中模拟类的方法。这篇文章,我们主要来学习一下现代继承的一些方法。 九、原型继承 下面我们开始讨论一种称之为原型继承(prototype inheritance)的“现代”无类继承模式。在本模式中并不涉及类,这里的对象都是继承自其他对象。 阅读全文
posted @ 2020-04-30 09:25 Zaking 阅读(269) 评论(0) 推荐(1) 编辑
摘要:上一篇讲了最简单的代码复用模式,也是最基础的,我们普遍知道的继承模式,但是这种继承模式却有不少缺点,我们下面再看看其它可以实现继承的模式。 四、类式继承模式#2——借用构造函数 本模式解决了从子构造函数到父构造函数的参数传递问题。本模式借用了父构造函数,它传递子对象以绑定到this,并且还转发任意参 阅读全文
posted @ 2020-04-19 17:11 Zaking 阅读(268) 评论(0) 推荐(1) 编辑
摘要:我们有开始进入新篇章了。这篇内容主要讲代码复用模式,实际上代码复用,就是继承啊,原型啊,构造函数啊等等这一类的内容。对于前端进阶来说,是很重要的基础知识。这一篇内容会对原型、 继承有很深入的讲解。我也会尽我所能的为大家讲清楚、分析透彻。 代码复用是一个非常重要而且有趣的主题,简而言之,这是由于人们很 阅读全文
posted @ 2020-04-19 15:18 Zaking 阅读(141) 评论(0) 推荐(0) 编辑
摘要:我们学完了大部分对象创建模式相关的内容,下面还有一些小而精的部分。 七、对象常量 JavaScript中没有常量的概念,虽然许多现代的编程环境可能为您提供了用以创建常量的const语句。作为一种变通方案,JavaScript中常见的一种方法是使用命名约定,使那些不应该被修改的变量全部用大写字母以突出 阅读全文
posted @ 2020-04-02 18:58 Zaking 阅读(243) 评论(0) 推荐(1) 编辑