JavaScript 基础教程

JavaScript 首页 JavaScript 路线图 JavaScript 概述 JavaScript 功能特性 JavaScript 启用 JavaScript 位置 JavaScript 语法 JavaScript Hello World JavaScript Console.log() JavaScript 注释 JavaScript 变量 JavaScript let 语句 JavaScript 常量 JavaScript 数据类型 JavaScript 类型转换 JavaScript 严格模式 JavaScript 保留关键字

JavaScript 运算符

JavaScript 运算符 JavaScript 算术运算符 JavaScript 比较运算符 JavaScript 逻辑运算符 JavaScript 位运算符 JavaScript 赋值运算符 JavaScript 条件运算符 JavaScript typeof 运算符 JavaScript 空值合并运算符 JavaScript 安全赋值运算符 JavaScript 删除运算符 JavaScript 逗号运算符 JavaScript 分组运算符 JavaScript Yield 运算符 JavaScript 展开运算符 JavaScript 幂运算符 JavaScript 运算符优先级

JavaScript 控制流

JavaScript If...Else JavaScript While 循环 JavaScript For 循环 JavaScript For...in JavaScript For...of JavaScript 循环控制 JavaScript Break 语句 JavaScript Continue 语句 JavaScript Switch Case JavaScript 用户定义迭代器

JavaScript 函数

JavaScript 函数 JavaScript 函数表达式 JavaScript 函数参数 JavaScript 默认参数 JavaScript Function() 构造函数 JavaScript 函数提升 JavaScript 自调用函数 JavaScript 箭头函数 JavaScript 函数调用 JavaScript 函数 call() 方法 JavaScript 函数 apply() 方法 JavaScript 函数 bind() 方法 JavaScript 闭包 JavaScript 变量作用域 JavaScript 全局变量 JavaScript 智能函数参数

JavaScript 对象

JavaScript Number JavaScript Boolean JavaScript Strings JavaScript Arrays JavaScript Date JavaScript DataView JavaScript Handler JavaScript Math JavaScript RegExp JavaScript Symbol JavaScript Sets JavaScript WeakSet JavaScript Maps JavaScript WeakMap JavaScript 可迭代对象 JavaScript Reflect JavaScript TypedArray JavaScript 模板字面量 JavaScript 带标签的模板

面向对象的 JavaScript

JavaScript 对象 JavaScript 类 JavaScript 对象属性 JavaScript 对象方法 JavaScript 静态方法 JavaScript 显示对象 JavaScript 对象访问器 JavaScript 对象构造函数 JavaScript 原生原型 JavaScript ES5 对象方法 JavaScript 封装 JavaScript 继承 JavaScript 抽象 JavaScript 多态 JavaScript 解构 JavaScript 解构赋值 JavaScript 对象解构 JavaScript 数组解构 JavaScript 嵌套解构 JavaScript 可选链式调用 JavaScript 全局对象 JavaScript Mixins (混合) JavaScript 代理

JavaScript 版本

JavaScript 历史 JavaScript 版本 JavaScript ES5 JavaScript ES6 ECMAScript 2016 ECMAScript 2017 ECMAScript 2018 ECMAScript 2019 ECMAScript 2020 ECMAScript 2021 ECMAScript 2022

JavaScript 异步

JavaScript 异步 JavaScript 回调函数 JavaScript Promises JavaScript Async/Await JavaScript Microtasks (微任务) JavaScript Promises JavaScript Promises 链 JavaScript 定时事件 JavaScript setTimeout() JavaScript setInterval()

JavaScript Cookies

JavaScript Cookies JavaScript Cookie 属性 JavaScript 删除 Cookies

JavaScript 浏览器 BOM

JavaScript 浏览器对象模型 JavaScript Window 对象 JavaScript Document 文档对象 JavaScript Screen 对象 JavaScript History 对象 JavaScript Navigator 对象 JavaScript Location 对象 JavaScript Console 对象

JavaScript Web APIs

JavaScript Web API JavaScript History API JavaScript Storage API JavaScript Forms API JavaScript Worker API JavaScript Fetch API JavaScript Geolocation API

JavaScript 事件

JavaScript 事件 JavaScript DOM 事件 JavaScript addEventListener() JavaScript 鼠标事件 JavaScript 键盘事件 JavaScript 表单事件 JavaScript 窗口/文档事件 JavaScript 事件委托 JavaScript 事件冒泡 JavaScript 事件捕获 JavaScript 自定义事件

JavaScript 错误处理

JavaScript 错误处理 JavaScript try...catch JavaScript 调试 JavaScript 自定义错误 JavaScript 扩展错误

JavaScript 重要关键字

JavaScript this 关键字 JavaScript void 关键字 JavaScript new 关键字 JavaScript var 关键字

JavaScript HTML DOM

JavaScript HTML DOM JavaScript DOM 方法 &属性 JavaScript DOM 文档 JavaScript DOM 元素 JavaScript DOM 属性 (Attr) JavaScript DOM 表单 JavaScript 修改 HTML JavaScript 修改 CSS JavaScript DOM 动画 JavaScript DOM 导航 JavaScript DOM 集合 JavaScript DOM NodeList JavaScript DOM DOMTokenList

JavaScript 高级章节

JavaScript 冒泡排序算法 JavaScript 循环引用错误 JavaScript 使用 Jest 进行代码测试 JavaScript CORS 处理 JavaScript 数据分析 JavaScript 死区 JavaScript 设计模式 JavaScript Engine 和 Runtime JavaScript 执行上下文 JavaScript 函数组合 JavaScript 不可变性 JavaScript Kaboom.js JavaScript 词法作用域 JavaScript 本地存储 JavaScript 记忆化 JavaScript 压缩 JS JavaScript 可变性 vs 不可变性 JavaScript 包管理器 JavaScript 解析 S 表达式 JavaScript 原型继承 JavaScript 响应式 JavaScript Require 函数 JavaScript Selection API JavaScript SessionStorage JavaScript SQL CRUD 操作 JavaScript 增强排序 JavaScript 临时死区 JavaScript 节流 JavaScript TRPC 库 JavaScript 真值和假值 JavaScript 上传文件 JavaScript 日期比较 JavaScript 递归 JavaScript 数据结构 JavaScript Base64 编码 JavaScript 回调函数 JavaScript 当前日期/时间 JavaScript 日期验证 JavaScript 过滤方法 JavaScript 生成颜色 JavaScript HTTP 请求 JavaScript 插入排序 JavaScript 延迟加载 JavaScript 链表 JavaScript 嵌套循环 JavaScript 空值检查 JavaScript 获取当前 URL JavaScript 图算法 JavaScript 高阶函数 JavaScript 空字符串检查 JavaScript 表单处理 JavaScript 函数式编程 JavaScript 形参 vs 实参 JavaScript 原型 JavaScript 响应式编程 JavaScript Reduce 方法 JavaScript Rest 运算符 JavaScript 短路 JavaScript 未定义检查 JavaScript 单元测试 JavaScript 验证 URL

JavaScript 杂项

JavaScript Ajax JavaScript 异步迭代 JavaScript Atomics 原子对象 JavaScript Rest 参数 JavaScript 页面重定向 JavaScript 对话框 JavaScript 页面打印 JavaScript 表单验证 JavaScript 动画 JavaScript 多媒体 JavaScript 图像映射 JavaScript 浏览器 JavaScript JSON JavaScript 多行字符串 JavaScript 日期格式 JavaScript 获取日期方法 JavaScript 设置日期方法 JavaScript 模块 JavaScript 动态导入 JavaScript BigInt JavaScript Blob JavaScript Unicode JavaScript 浅拷贝 JavaScript 调用堆栈 JavaScript 引用类型 JavaScript IndexedDB JavaScript 点击劫持攻击 JavaScript 柯里化 JavaScript 图形 JavaScript Canvas 画布 JavaScript 防抖 JavaScript 性能 JavaScript 代码风格指南

JavaScript 实用资源

JavaScript 面试题 JavaScript 速查表 JavaScript 函数


JavaScript - 历史与版本

JavaScript 改变了网站、应用程序和游戏开发的世界,并彻底改变了数字行业。JavaScript 主要与 HTML 和 CSS 配合使用来开发应用程序界面。然而,如今它也被用作服务器端编程语言。根据 StackOverflow 2023 年的调查,全球约有 63% 的开发人员正在使用 JavaScript。

JavaScript 的历史

让我们来简要回顾一下 JavaScript 的历史。

JavaScript 的第一阶段发展

1993 年,一些开发人员发布了带有图形界面的网络浏览器 Mosaic。1994 年,Mosaic 网络浏览器的主要开发人员创立了 Netscape 公司。他们还发布了名为 Netscape Navigator 的浏览器。

直到 1996 年,网站都是静态的,仅包含 HTML 和 CSS。因此,需要在网页中添加动态行为,以增强网站的交互性。而脚本语言正是为网页添加动态行为所必需的。

Netscape 的首席软件开发人员 Brendan Eich 于 1995 年 9 月在 10 天内开发出了这门脚本语言。新开发的脚本语言最初名为"Mocha",后来更名为"LiveScript",再后来更名为"JavaScript"。

JavaScript 这个名字源于"Java"语言。Java 是当时最流行的语言,而脚本正是由于这种脚本语言而诞生的。

JavaScript 的标准化

JavaScript 在开发之初仅受 Internet Explorer 浏览器支持。然而,Internet Explorer 浏览器现已弃用。

1997 年,为了在所有 Web 浏览器中推广 JavaScript,Netscape 向欧洲计算机制造商协会 (ECMA) 提交了一份 JavaScript 标准化提案。

ECMAScript(ES) 就是这样进入开发领域的。此后,JavaScript 开发者社区和 Netscape 不断更新 JavaScript,添加新功能,并发布新版本,例如 ES1、ES2、ES13 等。

JavaScript 的最新版本是 ES13。

JavaScript 库和框架

2005 年后,JavaScript 开发经历了一场革命。

2006 年,最受欢迎的库之一 JQuery 诞生,旨在让网站开发更加便捷。然而,如今 JavaScript 支持数千个库。

2010 年,Ember、Backbone 等框架应运而生。这些框架提供了应用程序的结构。 2013 年,最受欢迎的框架之一 React 诞生。

服务器端 JavaScript

2009 年,Ryan Dhal 推出了 NodeJS 运行时环境,用于创建服务器端应用程序。借助 NodeJS,开发者可以使用 JavaScript 进行全栈 Web 开发,而 JavaScript 也不再局限于前端开发。

目前,Google 正在管理 NodeJS。

现代 JavaScript 和 ES6 版本

2015 年,JavaScript 的 ES6 版本发布。在 ES6 版本中,JavaScript 开发者对 JavaScript 进行了重大更改,并添加了更多高级功能。

JavaScript 的最新版本 ES13 于 2022 年发布。

JavaScript 历史版本

年份 ECMAscript 版本 功能发布
1995 Brendan Eich 开发了 JavaScript。
1996 JavaScript 1.0 发布。
1997 ES1 JavaScript 标准化由 ECMA 完成,ES1 版本已发布。
1998 ES2 ES2 版本的 JavaScript 已发布。
1999 ES3 ES3 版本的 JavaScript 已发布。
2006 第一个使用 JavaScript 开发的库 JQuery。
2008 ES4 ES4 版本的 JavaScript 已发布。
2009 NodeJS 是为服务器端编程而开发的语言。
2009 ES5 ES5 版本的 JavaScript 发布。
2010 第一个框架 Angular JS 诞生。
2013 最流行的 JavaScript 框架 ReactJS 诞生。
2015 ES6 ES6 版本的 JavaScript 发布。
2016 ES7 ES7 版本的 JavaScript 已发布。
2017 ES8 ES8 版本的 JavaScript 已发布。
2018 ES9 ES9 版本的 JavaScript 已发布。
2019 ES10 ES10 版本的 JavaScript 已发布。
2020 ES11 ES11 版本的 JavaScript 已发布。
2021 ES12 ES12 版本的 JavaScript已发布。
2022 ES13 JavaScript ES13 版本已发布。

JavaScript 的未来

全球 98% 的网站使用 JavaScript 作为客户端编程语言。

网站、应用程序、软件等需求的不断增长也推动了 JavaScript 的需求。随着时间的推移,开发者社区开发了更多支持 JavaScript 的库和框架,使数字产品的开发变得更加容易。

全球 JavaScript 开发者超过 1400 万,而且这个数字还在不断增长。总体而言,JavaScript 的未来一片光明。

JavaScript 浏览器支持

大多数现代浏览器都支持 JavaScript。

Chrome Firefox Microsoft Edge Opera Safari Firefox Android
Yes Yes Yes Yes Yes Yes