6 Albert Yang

尚未进行身份认证

我要认证

一代歌神,阿尔伯特·杨,兼职程序开发。真正能让你走远的,从来都是积极自律与勤奋。欢迎关注公众号:AlbertYang,这里有天籁之音,更有海量学习资料。

等级
TA的排名 5k+

不会吧不会吧,你不会还不知道这些提高JS代码质量的骚操作吧?

目录1 评价代码质量指标1.1 健壮性1.1.1 参数校验1.1.2 try, catch1.1.3 控制变量权限1.2 可扩展性1.2.1 模块分明1.2.2 高内聚低耦合1.2.3 用添加代替更改1.3可读性1.3.1 变量命名规范1.3.2 代码结构清晰2 设计模式2.1 用享元模式减少重复代码2.2 策略模式/状态模式2.3 装饰器模式3 总结1 评价代码质量指标1.1 健壮性程序的健壮性是指程序在执行时,在局部发生错误

2020-08-10 08:38:08

设计模式(12)[JS版]--JavaScript必会设计模式之外观模式(Façade Pattern)

目录1 什么是外观模式2 外观模式的主要的参与者3 代码实现4 实例应用4.1 跨浏览器事件4.2阻止默认和冒泡事件5 总结1 什么是外观模式外观模式为子系统提供了一个接口,它屏蔽一个或多个子系统的复杂功,提供了一个一致的界面(接口)给用户。外观模式是一个非常简单的模式,但它的功能却很很强大,非常有用。外观模式不仅简化类中的接口,而且对接口与调用者也进行了解耦。外观模式可以将一些复杂操作封装起来,并创建一个简单的接囗用于调用,它经常出现在多层架构的系统中。外观模式的.

2020-08-06 22:09:35

设计模式(11)[JS版]-JavaScript中的注解之装饰器模式

目录1 什么是装饰器模式?2 装饰器模式的主要参与者有哪些3 代码实现4 实例应用5ES7 中的 decorator6 总结1 什么是装饰器模式?装饰器模式模式动态地扩展了(装饰)一个对象的行为,同时又不改变其结构。在运行时添加新的行为的能力是由一个装饰器对象来完成的,它 "包裹 "了原始对象,用来提供额外的功能。多个装饰器可以添加或覆盖原始对象的功能。装饰器模式属于结构型模式。和适配器模式不同的是,适配器模式是原有的对象不能用了,而装饰器模式是原来的对象还能用,在不改变原.

2020-08-05 23:38:20

设计模式(10)[JS版]-JavaScript如何实现组合模式???

目录1什么是组合模式2主要参与者3代码实现4应用实例4.1 表单验证4.1 图片阅读器5总结1什么是组合模式组合模式允许创建具有属性的对象,这些对象是原始项目或对象集合。集合中的每个项目本身可以容纳其他集合,创建深度嵌套结构。树型控件是复合模式的一个完美例子。树的节点要么包含一个单独的对象(叶子节点),要么包含一组对象(节点的子树)。组合模式用于简单化,一致化对单组件和复合组件的使用;其实它就是一棵树。 组合模式能对于工作能起到简化作用,组合...

2020-08-04 22:35:22

设计模式(9)[JS版]-JavaScript设计模式之如何实现桥接模式???

1什么是桥接模式Bridge模式允许两个组件,即客户端和服务一起工作,每个组件都有自己的接口。Bridge是一种高级架构模式,它的主要目标是通过两级抽象来编写更好的代码。它有利于对象之间非常松散的耦合,有时也被称为双适配器模式。 桥接模式的作用在于将实现部分和抽象部分分离, 以便两者可以独立的变化。 这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。Bridge模式弱化了代码之间的耦合,将抽象和其实现分离,便于二者独立变化、让API更加健壮,有利于分层,提高组.

2020-08-03 22:53:18

设计模式(8)[JS版]-JavaScript设计模式之如何实现适配器模式???

目录1 什么是适配器模式?2 参与者3 实例讲解4 其它应用5 总结1 什么是适配器模式?适配器模式是将一个接口(对象的属性和方法)转换为另一个接口。适配器允许编程组件协同工作,否则由于接口不匹配而无法协同工作。适配器模式也称为包装器模式。适配器模式可以想象为我们日常生活中经常使用的接口转换器,实现两个或者多个不同的数据存储器进行数据交换,适配各自不同数据输出口的工具。适配器适用于客户系统期待的接口与现有API提供的接口不兼容这种场合。它只能用来协调语法上的差异问题。适配器.

2020-08-02 21:05:01

JS+CSS实现左右文字滚动

<!doctype html><html> <head> <meta charset="UTF-8"> <title>文字滚动:公众号AlbertYang</title> <script src="js/jquery-1.11.3.min.js"></script> <style type="text/css"> * { margin: 0; padding.

2020-07-28 17:50:04

设计模式(7)[JS版]-JavaScript设计模式之原型模式如何实现???

目录1.什么是原型模式2 参与者3实例讲解4使用 Object.create实现原型模式4.1Object.create()的用法4.2 用Object.create实现继承4.2.1 单继承4.2.2 多继承4.3 propertyObject参数4.4 Polyfill4.5改写原型模式实现5 总结1.什么是原型模式原型模式(prototype)是指用原型实例指向创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式不单是一种设...

2020-07-27 22:18:55

如何更聪明地学习:20种让你更高效学习的科学方法

目录1. 以多种方式学习某个知识2. 每天学习多个科目,而不是只学习一个科目3. 定期复习,而不是死记硬背4. 坐在最前面(对于学生来说)5.只专注于一件事6.学会简化、归纳7. 用手而不是使用笔记本电脑做笔记8. 写下你的烦恼9. 经常测试自己10. 将你所学的知识与你已经知道的东西联系起来11. 大声读出来12. 定期休息13.在学习结束时奖励自己14. 专注于过程,而不是结果15. 每天喝八杯水16. 每周至少锻炼三次17. 每...

2020-07-25 14:36:56

设计模式(6)[JS版]-JavaScript如何实现抽象工厂模式?

目录1 学习目标2 什么是抽象工厂模式?3 抽象工厂模式作用4工厂模式参与者5 代码实现1 学习目标通过本篇文章的学习,你应当掌握以下知识:1 知道什么是抽象工厂模式?2 掌握抽象工厂模式的作用以及什么时候需要使用抽象工厂模式3 掌握使用JS实现抽象工厂模式的代码编写。2 什么是抽象工厂模式?抽象工厂模式提供了一种封装一组具有相同主题的单个工厂而无需指定其具体类的方法。即工厂的工厂;一个将单个但相关/从属工厂分组在一起的工厂,但未指定其具体类别。一个抽象工.

2020-07-24 21:28:39

设计模式(5)[JS版]-JavaScript如何实现工厂方法模式?

目录1 什么是工厂方法模式?2工厂方法模式作用3工厂方法模式参与者4 代码实现1 什么是工厂方法模式?在基于类的编程中,工厂方法模式是一种创建模式,该模式使用工厂方法来处理创建对象的问题,而不必指定将要创建的对象的确切类。这是通过调用工厂方法来创建对象的,而不是通过调用构造函数,该工厂方法在接口中指定并由子类实现,或者在基类中实现,并且可以选择由派生类覆盖。它提供了一种将实例化逻辑委托给子类的方法。工厂方法按照客户端的指示创建新对象。在JavaScript中创建对象的一种方法..

2020-07-23 20:52:03

设计模式(4)[JS版]-JavaScript如何实现建造者模式?

目录1什么是建造者模式2 建造者模式的作用和注意事项3.代码实现4总结1什么是建造者模式建造者模式(Builder)可以将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。也就是说如果我们用了建造者模式,那么用户只需要指定需要建造的类型就可以得到所需要的东西,而具体建造的过程和细节不需要知道。建造者模式实际,就是一个指挥者,一个建造者和一个用户。用户调用指挥者,指挥者调用具体建造者工作,建造者建造出具体的东西给用户。建造者模式我们在代码中经常用到...

2020-07-21 20:59:56

设计模式(3)[JS版]-JavaScript中的构造函数模式是什么?

上篇文章单例模式:https://blog.csdn.net/qq_23853743/article/details/1074515611什么是构造函数模式构造函数用于创建特定类型的对象一不仅声明了使用的对象,构造函数还可以接受参数以便第一次创建对象的时候设置对象的成员值。你可以自定义自己的构造函数,然后在里面声明自定义类型对象的属性或方法。在JavaScript里,构造函数通常是认为用来实现实例的,JavaScript没有类的概,但是有特殊的构造函数。通过new关键字来调用自定义.

2020-07-20 22:23:20

设计模式(2)[JS版]---JavaScript如何实现单例模式?

目录1 什么是单例模式?2单例模式的作用和注意事项3代码实现4案例应用4.1 使用单例模式管理命名空间4.2 使用单例模式为不同命名空间的button按钮添加click事件,并且使他们之间能够互相通信1 什么是单例模式?单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。在JavaScript里,单例作为一个命名空间提供者,从全局命名空间里提供一个唯一的访问点来访...

2020-07-19 21:58:24

黑客帝国中代码雨如何实现?用 canvas 轻松实现代码雨炫酷效果!

1 效果演示地址:https://www.albertyy.com/2020/7/codeRain.html2 用到的知识点2.1 什么是 canvas标签?<canvas> 是一个HTML5中新增的元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成绘制图像。<canvas> 标签只是图形容器,您必须使用脚本来绘制图形。2.1.1创建一个画布(Canvas)<canvas>实例:<canvas id="...

2020-07-18 22:05:34

什么是JavaScript 的闭包???

闭包(closure)是Javascript语言的一个难点,闭包是一个函数与周围状态(词法环境)的引用捆绑在一起(封闭)的组合,在JavaScript中,每次创建函数时,都会同时创建闭包。闭包是一种保护私有变量的机制,在函数执行时形成私有的作用域,保护里面的私有变量不受外界干扰,即形成一个不销毁的栈环境。阅读本文前需要了解JS局部变量和全局变量。不清楚的可以看我的上篇文章:https://blog.csdn.net/qq_23853743/article/details/1069461001 计

2020-07-18 16:44:36

纯CSS实现iOS风格打开关闭选择框

目录1 效果2 知识点2.1 标签2.2 CSSfloat属性2.3 CSS3transition属性2.4 CSS3:checked选择器2.5 CSSelement+element选择器3 代码实现1 效果2 知识点2.1 <label>标签在html中,<label>标签通常和<input>标签一起使用,<label>标签为input元素定义标注(标记)。label 元素不会向用户呈现任...

2020-07-15 07:25:06

纯CSS实现自定义单选框和复选框

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> #main { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; } .

2020-07-14 06:49:14

设计模式(1)—什么是设计模式?设计模式的六大原则是什么?

目录1.什么设计模式2.设计模式的发展3.设计原则6大原则3.1 开闭原则3.2 里氏转换原则3.3 依赖倒转原则3.4 接口隔离原则3.5 合成/聚合复用原则3.6 迪米特原则1.什么设计模式软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。设计模式使代码开发真正工程化;设计模式是软件工程的基...

2020-07-12 16:59:19

全文检索工具Lucene入门教程

1.什么是LuceneApache Lucene是完全用Java编写的高性能,功能齐全的,全文检索引擎工具包,通过lucene可以让程序员快速开发一个全文检索功能。1.1什么是全文检索在我们的生活中数据总体分为两种:结构化数据 和非结构化数据 。结构化数据: 指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据: 指不定长或无固定格式的数据,如邮件,word文档等。非结构化数据又叫全文数据。当然有的地方还会提到第三种,半结构化数据,如XML,HTML等,半结构化数据可以.

2020-07-11 17:55:11

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。