6 Albert Yang

尚未进行身份认证

我要认证

一代歌神,阿尔伯特·杨,一名Java程序员,正在学习前端。真正能让你走远的,从来都是积极自律与勤奋。 欢迎关注公众号: AlbertYang,这里有天籁之音,更有海量学习资料免费领取。 每天学习进步一点点,就是领先的开始,加油!问题解答,请加我微信:codezxw

等级
TA的排名 3k+

JavaScript进阶教程(7)-正则表达式

正则表达式了解正则表达式基本语法 能够使用JavaScript的正则对象正则表达式简介什么是正则表达式正则表达式:用于匹配规律规则的表达式,正则表达式最初是科学家对人类神经系统的工作原理的早期研究,现在在编程语言中有广泛的应用。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式的作用给定的字符串是否

2020-10-24 23:07:20

JavaScript进阶教程(6)—硬核动图让你轻松弄懂递归与深浅拷贝

目录一、递归1.1 概念1.2 出口1.3 递归经典问题:递归求斐波那契数列1.4 递归经典问题:递归求阶乘1.5 递归求一个数字各个位数上的数字的和1.6 递归遍历DOM树二 深浅拷贝2.1 浅拷贝2.2 深拷贝2.3 如何区分深拷贝与浅拷贝?2.3.1 浅拷贝:仅复制了引用,彼此之间的操作会互相影响2.3.2 深拷贝:在堆中重新分配内存,不同的地址,互不影响三 总结一、递归1.1 概念递归简单的来说就是程序自己调用自己,就像下面这幅图一

2020-09-13 19:47:49

JavaScript进阶教程(5)-一文让你搞懂作用域链和闭包

1 作用域在JS中变量可以分为局部变量和全局变量,对于变量不熟悉的可以看一下我这篇文章:https://blog.csdn.net/qq_23853743/article/details/106946100作用域就是变量的使用范围,分为局部作用域和全局作用域,局部变量的使用范围为局部作用域,全局变量的使用范围是全局作用域。在 ECMAScript 2015 引入let 关键字之前,js中没有块级作用域---即在JS中一对花括号({})中定义的变量,依然可以在花括号外面使用。{ var num2

2020-09-12 19:26:40

JavaScript进阶教程(4)-函数内this指向解惑call(),apply(),bind()的区别

目录1 函数的定义方式1.1 函数声明1.2 函数表达式1.3 函数声明与函数表达式的区别1.4 构造函数Function(了解即可,一般不用)2 函数的调用方式3 函数内 this 的指向4 call、apply、bind4.1 call,apply4.1.1 新的函数调用方式apply和call方法4.1.2 apply和call可以改变this的指向4.2 call,apply使用4.3 bind4.4 总结5 函数的其它成员(了解)6

2020-09-06 20:44:40

JavaScript 进阶教程(3)---让你彻底搞懂原型链和继承

1 原型链1.1 原型关于原型在JS面向对象编程这篇文章已经讲过了,今天简单来复习一下。1.1.1 什么是原型?在JS构造函数中有一个属性prototype,叫做原型,这是给程序员使用的。在JS实例对象中有一个属性__proto__,它也是原型,这是供浏览器使用的,它不是标准的属性。 实例对象中的__proto__指向的是该实例对象中的构造函数中的prototype,构造函数中的prototype里面的属性或者方法,可以直接通过实例对象调用。一般情况下,实例对象.__proto__才

2020-09-01 19:33:14

JavaScript 进阶教程(2)---面向对象实战之贪吃蛇小游戏

目录1 引言2 游戏地图3 游戏对象3.1 食物对象3.2 小蛇对象3.3 游戏对象4 游戏的逻辑4.1小蛇的移动4.2 让蛇自己动起来4.2.1 自动移动4.2.2 自调用函数4.2.3 私有方法4.3 判断蛇是否吃到食物5 代码6 其它处理6.1 index.js6.2 自调用函数的参数6.2 多个自调用函数1 引言上篇文章:https://blog.csdn.net/qq_23853743/article/details/

2020-08-29 22:12:04

JavaScript 进阶教程(1)--面向对象编程

1 学习目标 理解面向对象开发思想 掌握 JavaScript 面向对象开发相关模式 2 面向对象介绍2.1什么是对象Everything is object (一切皆对象)我们可以从两个层次来理解对象:(1) 对象是单个事物的抽象。一本书、一辆汽车、一个人都可以是对象,一个数据库、一张网页、一个与远程服务器的连接也可以是对象。当实物被抽象成对象,实物之间的关系就变成了对象之间的关系,从而就可以模拟现实情况,针对对象进行编程。(2) 对象是一个.

2020-08-16 18:13:37

使用canvas把照片旋转任意角度

1. 效果演示地址:https://www.albertyy.com/2020/8/rotateImg.html2. canvas关于canvas的使用我在这篇文章中有简单的介绍,可以看一下。3. 代码实现<!DOCTYPE html><html> <head> <title>图片旋转:公众号AlbertYang</title> </head> <style type="text/css">

2020-08-13 18:10:01

不会吧不会吧,你不会还不知道这些提高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

查看更多

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