- 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 - delete 运算符
- 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 - Function call()
- JavaScript - Function apply()
- JavaScript - Function bind()
- JavaScript - 闭包
- JavaScript - 变量作用域
- JavaScript - 全局变量
- JavaScript - 智能函数参数
- JavaScript 对象
- JavaScript - Number
- JavaScript - Boolean
- JavaScript - String
- JavaScript - Array
- JavaScript - Date
- JavaScript - DataView
- JavaScript - Handler
- JavaScript - Math
- JavaScript - RegExp
- JavaScript - Symbol
- JavaScript - Set
- JavaScript - WeakSet
- JavaScript - Map
- 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 - Mixins
- JavaScript - 代理 (Proxies)
- 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 - Promise
- JavaScript - Async/Await
- JavaScript - 微任务
- JavaScript - Promisification (Promise 化)
- JavaScript - Promise 链式调用
- JavaScript - 定时事件
- JavaScript - setTimeout()
- JavaScript - setInterval()
- JavaScript Cookie
- JavaScript - Cookie
- JavaScript - Cookie 属性
- JavaScript - 删除 Cookie
- 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 - 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 是一种非常流行且广泛使用的用于 Web 开发的编程语言。它具有多种特性,使其功能强大且灵活。其中一些特性包括动态性、轻量级、解释型、函数式和面向对象。
许多开源 JavaScript 库可用,这方便了 JavaScript 在前端和后端开发中的使用。让我们重点介绍一些 JavaScript 的关键特性。
轻松设置
我们不需要特定的编辑器来开始编写 JavaScript 代码。甚至任何人都可以在记事本中编写 JavaScript 代码。此外,JavaScript 可以在浏览器中执行,无需任何解释器或编译器设置。
您可以使用<script>标签在 HTML 文件中添加 JavaScript。但是,它也允许您从具有 '.js' 扩展名的外部 JavaScript 文件向网页添加 JavaScript。
浏览器支持
所有浏览器都支持 JavaScript,因为所有现代浏览器都带有内置的 JavaScript 执行环境。
但是,您也可以使用 'window' 对象来检查浏览器是否支持 JavaScript 或其特定功能。
DOM 操作
JavaScript 允许开发人员操作网页元素。此外,您可以控制浏览器。
它包含各种方法,可以使用不同的属性访问 DOM 元素,并允许自定义 HTML 元素。
事件处理
JavaScript 允许您处理用于与网页交互的事件。
例如,您可以使用 JavaScript 检测对特定 HTML 元素的鼠标点击,并与 HTML 元素进行交互。
还存在其他一些事件,例如检测网页的滚动行为等。我们将在“JavaScript 事件”章节中探讨所有事件。
动态类型
JavaScript 在运行时决定变量的类型。因此,我们在编写代码时无需关心变量的数据类型,这提供了更大的代码编写灵活性。
此外,您可以将不同数据类型的赋值给同一个变量。例如,如果您存储了特定变量的数值,则可以使用字符串更新该变量的值。
函数式编程
JavaScript 支持函数式编程。在 JavaScript 中,您可以定义一等函数、纯函数、闭包、高阶函数、箭头函数、函数表达式等。
它主要使用函数作为解决问题的基本构建块。
跨平台支持
每个操作系统和浏览器都支持 JavaScript。因此,它被广泛用于开发网站、移动应用程序、游戏、桌面应用程序等。
面向对象编程
JavaScript 包含类,我们可以使用其功能实现所有面向对象编程概念。
它还支持面向对象编程的继承、抽象、多态、封装等概念。
内置对象
JavaScript 包含内置对象,例如 Math 和 Date。我们可以使用 Math 对象执行数学运算,使用 Date 对象轻松操作日期。
但是,您也可以操作内置对象的功能。
对象原型
在 JavaScript 中,一切都是对象。例如,数组、函数、数字、字符串、布尔值、集合、映射等都是对象。
每个对象都包含一个原型属性,该属性是隐藏的。您可以使用原型属性通过其他对象的功能来实现继承或扩展类或对象的功能。
全局对象
JavaScript 包含全局对象来访问在任何地方都可用的变量。
要在浏览器中访问全局变量,您可以使用window对象;在 Node.js 中,您可以使用 'global' 关键字访问全局变量。
最近,引入了globalThis关键字来访问全局变量,并且大多数运行时环境都支持它。
内置方法
JavaScript 还包含每个对象的内置方法。开发人员可以使用内置方法编写高效且更简洁的代码。
例如,Array 对象包含用于过滤数组元素的 filter() 方法和用于排序数组的 sort() 方法。String 对象包含用于替换字符串中文本的 replace() 方法,用于删除字符串中空格的 trim() 方法等。
模块化编程
JavaScript 允许您将代码编写在不同的模块中,并将其与父模块连接起来。因此,开发人员可以编写易于维护的代码。
通过将代码编写在单独的模块中,您可以降低代码的复杂性,并在需要时重用每个模块。
JSON
JSON 代表 JavaScript 对象表示法。它是一种广泛使用的用于在两个网络之间交换数据的数据格式。例如,服务器和客户端。
JavaScript 还支持 JSON 格式来存储数据。
异步编程
JavaScript 是一种单线程编程语言。为了更快地执行代码,您可以使用异步编程。
您可以在 JavaScript 中使用 Promise 来编写异步代码,允许我们异步处理多个任务。
事件驱动架构
JavaScript 的事件驱动架构允许开发人员通过同时处理大量用户来创建交互式和响应迅速的 Web 应用程序。
由于 JavaScript 的广泛功能和应用,Facebook 的前端是基于 JavaScript 构建的。Netflix 使用 JavaScript 的 ReactJS 框架构建。类似地,亚马逊、PayPal、Airbnb、领英、推特等也都是使用 JavaScript 构建的。
服务器端支持
JavaScript 的 Node.js 运行时环境被广泛用于创建应用程序的后端,因为 JavaScript 也可用于创建服务器。它允许您为应用程序创建可扩展的后端。