自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天时朗、地利沃

顺天应人,守正出奇

  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 图解JavaScript Promises 和 Async/Await

你是否曾经遇到JS代码并没有按照你预期的方式运行?似乎函数是在随机、不可预测的时间执行的,或者执行被延迟了。如果是这样,那么你有可能正在处理ES6引入的一项很酷的新功能:promise! 我多年以来的好奇心得到了回报,而我不眠之夜又一次给了我时间制作一些动画。是时候讨论Promise了:为什么要使用promise?Promise在幕后是如何工作的?我们如何以最现代的方式编写promise呢? 简介 在编写JavaScript的时候,我们经常不得不去处理依赖于一些其它任务的任务!比如,我们要获取一副图像,

2020-08-13 17:02:00 556

原创 图解JavaScript生成器和迭代器

ES6引入了一个很酷的东西,叫做生成器(generator)函数。每当我问人们有关生成器函数的问题时,得到的回复基本上都是:“我曾看到过一次,没搞明白,然后就再也没有看到过”,“哦,天哪,我读过很多有关生成器函数的博客文章,但依然还没有搞明白”,“我是搞明白了,但是为什么有人会用它啊?”,????也许那只是我一直在与自己进行的对话,因为那是我很长一段时间以来习惯的思考方式!但是生成器函数是真的很酷。 那么,什么是生成器函数呢?下面,我们先来看一个常规的老式函数。????????是的,这绝对没什么特别的!它只

2020-08-13 17:01:05 539

原创 图解JavaScript原型继承

你有没有想过为什么我们可以在字符串、数组或对象上使用诸如.length、.split()、.join()这些内置方法呢?我们从来没有明确指定过它们,它们到底是从哪里来的呢?现在别说“哈哈,没人知道,这就是神奇的JavaScript????????‍♂️”。这实际上是因为一种叫做原型继承(prototypal inheritance)的玩意儿。它很棒,而且我们用到它的次数比意识到它存在的次数要多得多! 我们经常要创建很多相同类型的对象。假设我们有一个网站,在这个网站上,人们可以浏览狗! 对每一只狗,我们都需要

2020-08-13 16:59:46 510

原创 图解JavaScript引擎

JavaScript很酷,但是机器是如何才能真正理解我们所编写的代码呢?作为JavaScript开发人员,我们通常不必自己处理编译器。不过,一定要了解JavaScript引擎的基础知识,看看它如何处理我们对人类友好的JS代码,并将其转换成机器可以理解的东西!???? 请注意:这篇文章主要基于Node.js和基于Chromium的浏览器使用的V8引擎。 HTML解析器遇到script标记,代码从网络、缓存或已装好的service worker加载。响应是把请求的脚本作为字节流,由字节流解码器负责!字节流解

2020-08-13 16:59:13 470

原创 图解JavaScript作用域与作用域链

现在该讲作用域链了。在本文中,我假设你了解执行上下文的基础知识:尽管如此,我也会很快就此发表一篇文章。???? 我们来看看如下代码: const name = "Lydia" const age = 21 const city = "San Francisco" function getPersonInfo() { const name = "Sarah" const age = 22 return `${name} is ${a

2020-08-13 16:58:35 463

原创 图解JavaScript变量提升(hoisting)

变量提升是每个JS开发人员都听说过的那些术语之一,因为你在搜索引擎上搜索烦人的错误,并且最终到StackOverflow上查找时,有人会告诉你这个错误是因为变量提升(hoisting)导致的。那么,什么是变量提升呢?(BTW,作用域会在另一篇文章中介绍,我希望保持文章小而专注) 如果你是JavaScript新手,那么你可能已经遇到过一些怪异的行为,比如,有些变量的值会偶然是undefined、抛出了ReferenceError错误,等等。变量提升经常被解释为_将变量和函数放到文件的顶部_。不过,尽管变量提.

2020-08-13 16:52:12 502

原创 图解JavaScript事件循环

事件循环(Event Loop)是所有JavaScript开发者无论如何都要搞定的知识点之一,但是对于初学者来说,最初理解起来可能会有点困难。本文通过低分辨率的gif图像,以可视化的形式直观地讲解事件循环的机制。 首先我们来看看,事件循环是什么?为什么我们应该关注它呢? 我们知道,JavaScript是单线程的,也就是说,一次只能执行一个JavaScript任务。一般情况下,这不是什么大问题。不过,请想像一下,如果我们正在执行一个耗时30秒的任务,在此任务期间,我们得等待30秒才能进行其它任何操作(默认情.

2020-08-13 16:24:12 553

原创 30分钟学会UML类图

UML图有很多种,但是并非必须掌握所有的UML图,才能完整系统分析和设计工作。一般说来,在UML图中,只要掌握类图、用例图、时序图的使用,就能完成大部分的工作。也就是说,掌握UML的20%,就能做80%的事情。对于程序员来说,最频繁使用的莫过于类图。因此,这里我们只讲解UML类图。至于其它UML图,请在以后的工作中参阅更多UML学习资料继续学习。 类图是面向对象系统建模中最常用和最重要的图,是定义...

2020-02-28 11:57:46 1343

翻译 JavaScript 闭包工作原理

如果是新手 JavaScript 开发人员,你可能已经听说过闭包这个关键字,但是大多数人可能还没有。或者,你是正在寻找新机会的开发人员,并且以前从未用过闭包,但是你知道这对于 JavaScript 开发人员职位的面试至关重要。 通常要了解闭包,仅阅读一篇文章是不够的。但在本文中,你将学习所有用到的概念来进行解释它,以及这些概念如何一清二楚地协同工作。 闭包存储一个函数中的当前定义以及作用域信息,将...

2020-01-14 12:16:56 186

DIV+CSS网页基本布局视频

div+css网页基本布局的课堂教学视频,flash格式。

2008-07-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除