Lyn's Blog

  • Home

  • Archives

  • Tags

  • Categories

  • Search

【译】JavaScript 工作原理:事件循环和 Async 编程的兴起和5种更好地使用 async/await 进行编码的方法

Posted on 2018-10-01 | Views:

原文:How JavaScript works: Event loop and the rise of Async programming + 5 ways to better coding with async/await

欢迎阅读致力于探索 JavaScript 及其构建模块的系列文章第4篇。在识别和描述核心元素的过程中,我们还将分享我们在构建 SessionStack 时使用的一些经验规则,SessionStack 是一个轻量级 JavaScript 应用,它稳定且性能强大以保持竞争力。

你错过了前三章吗?你可以在这里找到它们:

  1. An overview of the engine, the runtime, and the call stack

  2. Inside Google’s V8 engine + 5 tips on how to write optimized code

  3. Memory management + how to handle 4 common memory leaks

这次我们的第一篇将通过回顾在单线程环境中编程的缺点以及如何克服它们来构建令人惊叹的 JavaScript UI 的文章。按照传统,在文章的最后,我们将分享有关如何使用 async/await 编写更清晰代码的5个技巧。

Read more »

【译】JavaScript 工作原理:内存管理+如何处理4个常见的内存泄漏

Posted on 2018-09-20 | Views:

How JavaScript works: memory management + how to handle 4 common memory leaks

几个星期之前,我们开始了一个旨在深入挖掘 JavaScript 及其实际工作原理的系列文章,我们认为,通过了解 JavaScript 的底层构建以及它们是如何协作的,你将能够编写更好的代码和应用。

本系列的第一篇文章重点介绍了引擎,运行时和调用栈的概述。第二篇文章仔细研究了Google V8 JavaScript 引擎的内部区块并提供了一些关于如何编写更好的JavaScript代码的技巧。

在第三篇文章中,我们将讨论由于编程语言日益成熟和复杂性日益增加而被开发人员忽视的另一个重要主题 —— 内存管理。我们还将提供一些关于如何处理 JavaScript 中的内存泄漏的提示,我们在 SessionStack 中遵守这些提示,因为我们需要确保 SessionStack 不会导致内存泄漏或者不会增加我们集成的Web应用程序的内存消耗。

Read more »

【译】JavaScript 工作原理:V8 引擎中5个优化代码的技巧

Posted on 2018-09-14 | Edited on 2018-09-16 | Views:

原文:How JavaScript works: inside the V8 engine + 5 tips on how to write optimized code

几个星期之前,我们开始了一个旨在深入挖掘 JavaScript 及其实际工作原理的系列文章,我们认为,通过了解 JavaScript 的底层构建以及它们是如何协作的,你将能够编写更好的代码和应用。

第一篇文章主要关注引擎,运行时和调用栈的概述。 第二篇文章将深入探讨 Google’s V8 引擎内部。我们还提供了一些关于如何编写更好的 JavaScript 代码的快速提示 —— 我们 SessionStack 开发团队在构建产品时  遵循的最佳实践。

概述 (Overview)

JavaScript 引擎是一个可以执行 JavaScript 代码的程序或解释器。 JavaScript 引擎可以是标准实现解释器或者是可以以某种方式实现编译 JavaScript 为字节码的即时编译器。

Read more »

【译】JavaScript 工作原理:JS 引擎,runtime 和调用栈的概述

Posted on 2018-09-10 | Edited on 2018-09-16 | Views:

原文:How JavaScript works: an overview of the engine, the runtime, and the call stack

JavaScript 变得越来越流行,很多团队在他们技术栈的多个方面使用它:前端,后端,hybrid 应用,嵌入式设备等等。

这篇是本系列文章的第一篇,旨在深入挖掘 JavaScript 和其实际工作原理:我们认为,通过了解 JavaScript 的构建块以及它们是如何协同工作的,你将能编写更好的代码和应用程序。我们还将分享我们在构建 SessionStack 时使用的一些经验规则,SessionStack 是一个轻量级 JavaScript 应用,它稳定且性能强大以保持竞争力。

Read more »

【译】精通 JavaScript: 什么是函数组合(Function Composition)?

Posted on 2018-09-04 | Edited on 2018-09-16 | Views:

原文:Master the JavaScript Interview: What is Function Composition?

Google Datacenter Pipes — Jorge Jorquera — (CC-BY-NC-ND-2.0)

“精通 JavaScript 面试” 是一个系列的文章,旨在帮助面试者准备他们在申请中高级职位时可能遇到的常见问题。这些是我在现实面试中经常提出的问题。

函数式编程已经成为了 JavaScript 世界的一个热门话题。仅仅在几年前,甚至只有很少 JavaScript 开发者知道函数式编程,但是在过去的3年中我看到了大量使用函数式编程思维构建的应用。

函数组合是将两个或多个函数组合以产生新函数的过程。将函数组合在一起就像是将一系列管道拼凑在一起,以便我们的数据流过。

Read more »

【译】精通 JavaScript: 什么是纯函数(Pure Function)?

Posted on 2018-09-03 | Edited on 2018-09-16 | Views:

原文:Master the JavaScript Interview: What is Pure Function?

Image: Pure - carnagenyc (CC BY 2.0)

纯函数对于包括函数式编程,可靠并发和 React+Redux apps 等用途至关重要。但是 “pure function” 是什么意思呢?

Read more »

【译】精通 JavaScript: 什么是 Promise?

Posted on 2018-08-30 | Edited on 2018-09-16 | Views:

原文:Master the JavaScript Interview: What is a Promise?

Photo by Kabun (CC BY NC SA 2.0)

“精通 JavaScript 面试” 是一个系列的文章,旨在帮助面试者准备他们在申请中高级职位时可能遇到的常见问题。这些是我在现实面试中经常提出的问题。

什么是 Promise?

Promise 是一个对象,在未来的某个时刻产生一个值:已完成 (resolved) 的值或者是未完成的原因(e.g. 网络错误)。Promise 可能是下面三种状态中的一种:fulfilled,rejected,pending 。Promise 提供回调来处理 fulfilled 返回的值或者 rejection 的原因。

Read more »

【译】精通 JavaScript: 类继承和原型继承的区别?

Posted on 2018-08-29 | Edited on 2018-09-16 | Views:

Electric Guitar

原文:Master the JavaScript Interview: What’s the Difference Between Class & Prototypal Inheritance?

“精通 JavaScript 面试” 是一个系列的文章,旨在帮助面试者准备他们在申请中高级职位时可能遇到的常见问题。这些是我在现实面试中经常提出的问题。如果你想从头开始,可以看 “What is a Closure?” 开始。

注意:这篇文章的例子使用的是 ES6。如果你不知从何开始, 可以参阅 “How to Learn ES6”

与其他大多数语言不同的是, JavaScript 的对象系统是基于 原型(prototypes) , 而不是 类(classes) 。不幸的是,大多数 JavaScript 开发人员都不能深入了解 JavaScript 的对象系统,或者不能充分利用它。其他人确实理解,但是希望它表现得更像基于类继承。导致 JavaScript 中的对象系统十分混乱,这意味着 JavaScript 开发者对 原型(prototypes)和类(classes) 都要了解。

Read more »

【译】精通 JavaScript: 什么是闭包(Closure)?

Posted on 2018-08-27 | Edited on 2018-09-16 | Views:

closure

原文:Master the JavaScript Interview: What is a Closure?

“精通 JavaScript 面试” 是一个系列的文章,旨在帮助面试者准备他们在申请中高级职位时可能遇到的常见问题。这些是我在现实面试中经常提出的问题。

什么是闭包通常是我 JavaScript 面试的第一个和最后一个问题。坦白说,如果你不理解闭包你就不能深入掌握 JavaScript。

Read more »

【译】精通 JavaScript: 什么是函数式编程(Functional Programming)?

Posted on 2018-08-24 | Edited on 2018-09-16 | Views:

原文:Master the JavaScript Interview: What is Functional Programming?

Structure Synth — Orihaus (CC BY 2.0)

“精通 JavaScript 面试” 是一个系列的文章,旨在帮助面试者准备他们在申请中高级职位时可能遇到的常见问题。这些是我在现实面试中经常提出的问题。

函数式编程已经成为了 JavaScript 世界的一个热门话题。仅仅在几年前,甚至只有很少 JavaScript 开发者知道函数式编程,但是在过去的3年中我看到了大量使用函数式编程思维构建的应用。

Read more »
12

Lyn Ho

Stay Hungry Stay Foolish

11 posts
1 tags
GitHub E-Mail Twitter Facebook Linkedin Instagram
© 2018 Lyn Ho