Eloquent JavaScript 第三版草稿

Eloquent JavaScript 是一本深入浅出地介绍 JavaScript 的经典教程,该书的第三版(2021 年)已经发布。本文将对该书的主要内容进行介绍和总结,希望能够对前端开发者们提供一些有价值的指导。

第一部分:JavaScript 基础

在这一部分中,作者 Marijn Haverbeke 介绍了 JavaScript 的基础语法、数据类型、函数、作用域等概念。以下是其中一些重点:

变量声明

JavaScript 中,变量可以使用 varletconst 关键字进行声明。其中,varlet 类似,但是它们存在一些微妙的差异。const 则用于声明常量,一旦赋值就无法修改。

--- - - --- -- -- --- ----
--- - - --- -- -- --- ----
----- - - --- -- -- ----- ----

函数

JavaScript 中的函数可以像普通的变量一样被传递和操作。函数可以通过函数表达式或函数声明来定义。函数表达式是一个将函数赋给变量的表达式,而函数声明则是直接声明一个新函数。

-- -----
----- --- - ----------- -- -
  ------ - - --
--

-- ----
-------- ----------- -- -
  ------ - - --
-

作用域

JavaScript 中存在全局作用域和局部作用域。函数可以创建自己的作用域,其中的变量称为局部变量。在函数之外声明的变量则属于全局作用域。

----- - - --- -- ----

-------- ----- -
  ----- - - --- -- ----
-

第二部分:浏览器环境和 Node.js

在第二部分中,作者介绍了 JavaScript 在浏览器环境和 Node.js 环境下的使用方法。以下是一些重点:

DOM 操作

通过 JavaScript,我们可以对网页的文档对象模型(DOM)进行增删改查等操作。例如,我们可以使用 querySelector 方法来选择页面上的元素,并使用 innerHTML 属性修改它们的内容。

----- ------- - ------------------------------------ -- ----
----------------- - ------- -------- -- ------

异步编程

JavaScript 是一种基于事件驱动的语言,因此异步编程是其重要的特性之一。常见的异步编程方式包括回调函数、Promise 和 async/await。

-- ----
--------------------- -
  ------------------- ---------
-- ------

-- -------
----- ------- - --- ------------------------- ------- -
  --------------------- -
    --------------- ---------
  -- ------
---

----------------------------- -
  --------------------
---

-- -----------
----- -------- ----- -
  ----- ------ - ----- --------
  --------------------
-

第三部分:编程风格和规范

本书的最后一部分介绍了编程风格和规范,这对于编写易于理解、可维护的代码非常重要。以下是一些重点:

变量命名

变量名应该具有描述性,并且遵循一定的命名规则。例如,变量名应该使用驼峰式命名法,而不是下划线命名法。

-- ------
----- - - ---
----- ------ - --------

-- -----
----- --- - ---
----- -------- -

---------------------------------------------------------- ----------
-------------------------------------------------------------------------------------
  

猜你喜欢

  • Google发布浏览器自动化工具Puppeteer 1.0

    Google于2018年1月发布了Puppeteer,这是一款基于Node.js的高级浏览器自动化工具。它可以让开发者通过JavaScript控制Chrome或Chromium浏览器的功能,例如生成屏...

    7 年前
  • Fetch -- http请求的另一种姿势

    Fetch -- HTTP请求的另一种姿势 HTTP是前端与服务器之间交互的基础协议,在Web开发中使用非常广泛。传统上,我们通过XMLHttpRequest (XHR) 对象来发送异步请求并获取响应...

    7 年前
  • 非常有用的 48 个 JavaScript 代码片段,值得收藏!

    如果你是一名前端开发者,你可能会发现自己经常需要编写一些重复的 JavaScript 代码。这些代码可能涉及到 DOM 操作、事件处理、字符串处理、数组操作等等。为了帮助你更高效地完成这些任务,我们整...

    7 年前
  • 10 种最常见的 Javascript 错误 —— 总结于 1000+ 个项目,并阐述如何避免

    【译】10 种最常见的 Javascript 错误 本文总结于 1000+ 个项目,列出了前端开发中最常见的 10 种 JavaScript 错误,同时提供了避免这些错误的方法并附有示例代码。

    7 年前
  • What’s new in React 16.3(.0-alpha)

    What's New in React 16.3(.0-alpha) React is a popular JavaScript library for building user interface...

    7 年前
  • Gelerator - js 快速生成 html,支持并列、嵌套、css-in-js

    Gelerator - 一种快速生成 HTML 的 JavaScript 库 Gelerator 是一个用于快速生成 HTML 的 JavaScript 库,它支持并列、嵌套以及 CSS-in-JS。

    7 年前
  • [翻]在 React 中抛弃 .bind(this)

    在 React 中抛弃 .bind(this) 在 React 开发中,我们常常需要在事件处理函数中使用 this 关键字来访问组件实例的属性和方法。在 ES5 中,我们需要通过 .bind(this...

    7 年前
  • Event Loop 中的 microtask 与 macrotask

    在浏览器中,JavaScript 代码执行是由事件循环(Event Loop)控制的。当 JavaScript 引擎遇到异步任务时,它会将任务加入一个任务队列中,等待被执行。

    7 年前
  • 《JavaScript 正则表达式迷你书》读后感

    JavaScript 正则表达式迷你书读后感 最近我读了一本叫做《JavaScript 正则表达式迷你书》的书籍,这是一本关于 JavaScript 正则表达式的入门指南。

    7 年前
  • JavaScript中Map和ForEach的区别

    在JavaScript中,map()和forEach()是两个非常常用的数组方法。虽然它们都能够迭代数组并对每个元素执行回调函数,但它们之间存在一些重要的区别。 Map() map()方法创建一个新数...

    7 年前
  • CSS 动画实战:使用 CSS3 实现 Apple Watch 上的呼吸灯动画效果

    在前端开发中,CSS 动画是让网页变得更加生动、有趣和吸引人的重要手段之一。本文将分享如何使用 CSS3 实现 Apple Watch 上的呼吸灯动画效果,同时深入探究 CSS3 动画实现原理,帮助读...

    7 年前
  • transform与position:fixed的那些恩怨

    Transform 与 Position: Fixed 的那些恩怨 Transform 和 Position: Fixed 都是前端开发中常用的样式属性,但在某些情况下它们可能会产生一些奇怪的问题。

    7 年前
  • float 常见用法与问题

    Float 常见用法与问题 Float 是一种 CSS 属性,主要用于控制元素在页面中的位置。当一个元素被设置为浮动时,它会从正常文档流中脱离出来,并在父元素内部移动到指定位置。

    7 年前
  • Understanding The React Source Code - UI Updating (Transactions) VII

    Understanding the React Source Code - UI Updating (Transactions) VII In this article, we'll dive dee...

    7 年前
  • Npm vs Yarn 之备忘大全

    在前端开发中,NPM 和 Yarn 都是常用的包管理工具。虽然它们的功能类似,但有些区别可能会影响你的选择。在本文中,我们将探讨这些区别,并比较两个工具的优缺点。 NPM NPM(Node Packa...

    7 年前
  • 将Vue组件包装为Web组件/自定义元素,尤雨溪刚刚上传的

    将Vue组件包装为Web组件/自定义元素 Web组件是一项由 W3C 推出的新技术,允许开发者创建可重用的自定义元素。Vue.js 是一个流行的前端框架,提供了方便的组件化开发方式。

    7 年前
  • JavaScript的成本 众成翻

    JavaScript的成本 JavaScript是现代Web开发中最广泛使用的编程语言之一。尽管它有许多优点,但在实际使用中,它也有一些成本需要考虑。 1. 前端开发的复杂性 JavaScript的灵...

    7 年前
  • 从segmentfault搬家

    从 SegmentFault 搬家:如何优化前端性能 作为前端开发者,我们时刻应该关注网站的性能。网站速度不仅与用户体验有关,还会影响搜索引擎排名和转换率。在这篇文章中,我将分享一些有关前端性能优化的...

    7 年前
  • html5 FileReader API

    深入探讨 HTML5 FileReader API 在前端开发中,文件上传和处理一直是一个重要的任务。HTML5 FileReader API 提供了一种简单而强大的方式来读取本地计算机上的文件,并将...

    7 年前
  • TypeScript 2.7 发布

    TypeScript 2.7 发布 TypeScript 2.7 是一个重要的更新,它引入了许多新功能和改进。在本文中,我们将探索 TypeScript 2.7 的新特性,并提供深度学习和指导意义。

    7 年前

相关推荐

    暂无文章