第 1 章 什么是 JavaScript

系列文章目录

本系列文章从 JavaScript 的起源开始,逐步讲解到今天的最新技术。并且详尽讨论 JavaScript 的各个方面,重点介绍ECMAScript 和 DOM 标准。在此基础上,接下来的各章揭示了JavaScript 的基本概念,包括类、期约、迭代器、代理,等等。(点击下面的蓝色标题即可跳转到对应文章)

第 1 章 什么是 JavaScript

介绍 JavaScript 的起源:从哪里来,如何发展,以及现今的状况。这一章会谈到 JavaScript与 ECMAScript 的关系、DOMBOM,以及 Ecma 和 W3C 相关的标准。

第 2 章 HTML 中的 JavaScript

了解 JavaScript 如何与 HTML 结合来创建动态网页,主要介绍在网页中嵌入 JavaScript 的不同方式,还有 JavaScript 的内容类型及其与<script>元素的关系。

第 3 章 语言基础

介绍语言的基本概念,包括语法和流控制语句;解释 JavaScript 与其他类 C 语言在语法上的异同点。在讨论内置操作符时也会谈到强制类型转换。此外还将介绍所有的原始类型,包括 Symbol。

第 4 章 变量、作用域与内存

探索 JavaScript 松散类型下的变量处理。这一章将涉及原始类型与引用类型的不同,以及与变量有关的执行上下文。此外,这一章也会讨论JavaScript 中的垃圾回收,涉及在变量超出作用域时如何回收内存。

第 5 章 基本引用类型

讨论 JavaScript 所有内置的引用类型,如 Date、Regexp、原始类型及其包装类型。每种引用类型既有理论上的讲解,也有相关浏览器实现的剖析。

第 6 章 集合引用类型

继续讨论内置引用类型,包括 Object、Array、Map、WeakMap、Set 和 WeakSet 等。

第 7 章 迭代器与生成器

介绍 ECMAScript 新版中引入的两个基本概念:迭代器和生成器,并分别讨论它们最基本的行为和在当前语言环境下的应用。

第 8 章 对象、类与面向对象编程

解释如何在 JavaScript 中使用类和面向对象编程。首先会深入讨论 JavaScript 的 Object 类型,进而探讨原型式继承,接下来全面介绍 ES6 类及其与原型式继承的紧密关系。

第 9 章 代理与反射

介绍两个紧密相关的概念:Proxy(代理)和 Reflect(反射) API。代理和反射用于拦截和修改这门语言的基本操作。

第 10 章 函数

探索 JavaScript 最强大的一个特性:函数表达式,主要涉及闭包、this 对象、模块模式、创建私有对象成员、箭头函数、默认参数和扩展操作符。

第 11 章 期约与异步函数

介绍两个紧密相关的异步编程构造:Promise 类型和 async/await。这一章讨论 JavaScript的异步编程范式,进而介绍期约(promise)与异步函数的关系。


前言

虽然之前在课堂上已经学过 JavaScript 的相关用法了,但是现在要开始找工作的时候才发现好多知识点都忘记了(正所谓基础不牢,地动山摇😂),而且有些知识点学校教材上都没有,便有了要写这个 JavaScript 学习系列文章的想法。

由于博主只是做知识点总结与学习笔记分享,导致本系列文章对于 JavaScript 的使用方面介绍较少,还望读者能够自己多勤学苦练。废话不多说,让我们开始第 1 章 什么是 JavaScript的学习吧。


一、简短的历史回顾

1995 年,JavaScript 问世。起初它的用途是代替 Perl 等服务器端语言处理输入验证。如今,JavaScript 已被公认为主流的编程语言,能够实现复杂的计算与交互,包括闭包、匿名(lambda)函数,甚至元编程等特性。

二、JavaScript实现

JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分:

1.ECMAScript

ECMAScript:由 ECMA-262 定义并提供核心功能。

  • ECMA-262 描述了 JavaScript 的语法类型语句关键字保留字操作符全局对象。ECMAScript 只是对实现这个规范描述的所有方面的一门语言的称呼。

  • 关于 ECMAScript 的版本,我们所熟悉的 ES5 即 ECMAScript 3.1 ,变成了 ECMA-262 的第 5 版,于 2009 年 12 月 3 日正式发布。第 5 版相比于第 3 版,厘清了其存在的歧义,也增加了新功能。

    ECMA-262 第 6 版,俗称 ES6、ES2015 或 ES Harmony(和谐版),于 2015 年 6 月发布。这一版包含了大概这个规范有史以来最重要的一批增强特性。ES6 正式支持了类、模块、迭代器、生成器、箭头函数、期约、反射、代理和众多新的数据类型。

    ECMA-262 第 9 版,也称为 ES9、ES2018,发布于 2018 年 6 月。这次修订包括异步迭代、剩余和扩展属性、一组新的正则表达式特性、Promise finally(),以及模板字面量修订。

    ECMA-262第 10版,也称为 ES10、ES2019,发布于 2019年 6月。这次修订增加了 Array.prototype. flat()/flatMap()、String.prototype.trimStart()/trimEnd()、Object.fromEntries()方法,以及 Symbol.prototype.description 属性,明确定义了Function.prototype.toString()的返回值并固定了Array.prototype.sort()的顺序。另外,这次修订解决了与 JSON 字符串兼容的问题,并定义了 catch 子句的可选绑定。

    注意:目前各个主流的浏览器对 ECMAScript 的支持情况有所不同,具体支持哪个版本请自行查看。

2.DOM

文档对象模型(DOM):提供与网页内容交互的方法和接口。

文档对象模型(DOM,Document Object Model)是一个应用编程接口(API),用于在 HTML 中使用扩展的 XML。DOM 通过创建表示文档的树,让开发者可以随心所欲地控制网页的内容和结构。使用 DOM API,可以轻松地删除、添加、替换、修改节点。

3.BOM

浏览器对象模型(BOM):提供与浏览器交互的方法和接口。

BOM 主要针对浏览器窗口和子窗口(frame),不过人们通常会把任何特定于浏览器的扩展都归在 BOM 的范畴内。因为在很长时间内都没有标准,所以每个浏览器实现的都是自己的 BOM。

JavaScript 的这三个部分得到了五大 Web 浏览器(IE、Firefox、Chrome、Safari 和 Opera)不同程度的支持。所有浏览器基本上对 ES5(ECMAScript 5)提供了完善的支持,而对 ES6(ECMAScript 6)和ES7(ECMAScript 7)的支持度也在不断提升。这些浏览器对 DOM 的支持各不相同,但对Level 3 的支持日益趋于规范。HTML5 中收录的 BOM 会因浏览器而异,不过开发者仍然可以假定存在很大一部分公共特性。

三、JavaScript版本

由于不同浏览器厂商对 JavaScript 有着不同的版本号规则,并且多数浏览器对 JavaScript 的支持,指的是实现 ECMAScript 和 DOM 的程度,所以在这里就不列举 JavaScript 的各个版本号了。


总结

以上就是本篇文章的全部内容了,下一篇文章我们将学习 HTML 中的 JavaScript ,如果想要第一时间获取相关文章,欢迎关注博主,并且订阅专栏。您的支持与鼓励将成为我不断前行地动力!

最后,如果本篇文章对正在阅读的您有所帮助或启发,请不要吝啬您的点赞收藏评论及分享,这样就有可能帮助到更多的人了。同时也欢迎留下您遇到的问题,让我们一起探讨学习,共同进步!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值