现代 JavaScript 教程
https://zh.javascript.info/https://zh.javascript.info/
现代 JavaScript 教程
以最新的 JavaScript 标准为基准。通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识。
搜索
最后修改在 18日 一月 2022
购买EPUB/PDF
分享:
5854 ★githubWeChat 和 QQ
目录
课程的核心内容包含 2 部分,涵盖了 JavaScript 编程语言相关知识和浏览器行为。此外还有一系列的专题文章。
第 一 部分JavaScript 编程语言第 二 部分浏览器:文档,事件,接口第 三 部分其他文章
JavaScript 编程语言
在这儿我们将从头开始学习 JavaScript,也会学习 OOP 等相关高级概念。
本教程专注于语言本身,我们默认使用最小环境。
简介
JavaScript 简介
手册与规范
代码编辑器
开发者控制台
JavaScript 基础知识
Hello, world!
代码结构
现代模式,"use strict"
变量
数据类型
交互:alert、prompt 和 confirm
类型转换
基础运算符,数学
值的比较
条件分支:if 和 '?'
逻辑运算符
空值合并运算符 '??'
循环:while 和 for
"switch" 语句
函数
函数表达式
箭头函数,基础知识
JavaScript 特性
代码质量
在浏览器中调试
代码风格
注释
忍者代码
使用 Mocha 进行自动化测试
Polyfill 和转译器
Object(对象):基础知识
对象
对象引用和复制
垃圾回收
对象方法,"this"
构造器和操作符 "new"
可选链 "?."
Symbol 类型
对象 — 原始值转换
数据类型
原始类型的方法
数字类型
字符串
数组
数组方法
Iterable object(可迭代对象)
Map and Set(映射和集合)
WeakMap and WeakSet(弱映射和弱集合)
Object.keys,values,entries
解构赋值
日期和时间
JSON 方法,toJSON
函数进阶内容
递归和堆栈
Rest 参数与 Spread 语法
变量作用域,闭包
旧时的 "var"
全局对象
函数对象,NFE
"new Function" 语法
调度:setTimeout 和 setInterval
装饰器模式和转发,call/apply
函数绑定
深入理解箭头函数
对象属性配置
属性标志和属性描述符
属性的 getter 和 setter
原型,继承
原型继承
F.prototype
原生的原型
原型方法,没有 __proto__ 的对象
类
Class 基本语法
类继承
静态属性和静态方法
私有的和受保护的属性和方法
扩展内建类
类检查:"instanceof"
Mixin 模式
错误处理
错误处理,"try..catch"
自定义 Error,扩展 Error
Promise,async/await
简介:回调
Promise
Promise 链
使用 promise 进行错误处理
Promise API
Promisification
微任务(Microtask)
Async/await
Generator,高级 iteration
Generator
异步迭代和 generator
模块
模块 (Module) 简介
导出和导入
动态导入
杂项
Proxy 和 Reflect
Eval:执行代码字符串
柯里化(Currying)
Reference Type
BigInt
浏览器:文档,事件,接口
学习如何管理浏览器页面:添加元素,操纵元素的大小和位置,动态创建接口并与访问者互动。
Document
浏览器环境,规格
DOM 树
遍历 DOM
搜索:getElement*,querySelector*
节点属性:type,tag 和 content
特性和属性(Attributes and properties)
修改文档(document)
样式和类
元素大小和滚动
Window 大小和滚动
坐标
事件简介
浏览器事件简介
冒泡和捕获
事件委托
浏览器默认行为
创建自定义事件
UI 事件
鼠标事件
移动鼠标:mouseover/out,mouseenter/leave
鼠标拖放事件
指针事件
键盘:keydown 和 keyup
滚动
表单,控件
表单属性和方法
聚焦:focus/blur
事件:change,input,cut,copy,paste
表单:事件和方法提交
加载文档和其他资源
页面生命周期:DOMContentLoaded,load,beforeunload,unload
脚本:async,defer
资源加载:onload,onerror
杂项
DOM 变动观察器(Mutation observer)
选择(Selection)和范围(Range)
事件循环:微任务和宏任务
其他文章
教程的前两部分未涉及的其他主题的内容列表。此处没有明确的层次结构,你可以按你需要的顺序阅读文章。
Frame 和 window
弹窗和 window 的方法
跨窗口通信
点击劫持攻击
二进制数据,文件
ArrayBuffer,二进制数组
TextDecoder 和 TextEncoder
Blob
File 和 FileReader
网络请求
Fetch
FormData
Fetch:下载进度
Fetch:中止(Abort)
Fetch:跨源请求
Fetch API
URL 对象
XMLHttpRequest
可恢复的文件上传
长轮询(Long polling)
WebSocket
Server Sent Events
在浏览器中存储数据
Cookie,document.cookie
LocalStorage,sessionStorage
IndexedDB
动画
贝塞尔曲线
CSS 动画
JavaScript 动画
Web components
从星球轨道的高度讲起
Custom elements
影子 DOM(Shadow DOM)
模板元素
Shadow DOM 插槽,组成
给 Shadow DOM 添加样式
Shadow DOM 和事件(events)
正则表达式
模式(Patterns)和修饰符(flags)
字符类
Unicode:修饰符 “u” 和 class \p{...}
锚点(Anchors):字符串开始 ^ 和末尾 $
Flag "m" — 多行模式
词边界:\b
转义,特殊字符
集合和范围 [...]
量词 `+,*,?` 和 `{n}`
贪婪量词和惰性量词
捕获组
模式中的反向引用:\N 和 \k<name>
选择(OR)|
前瞻断言与后瞻断言
灾难性回溯
粘性标志 "y",在位置处搜索
正则表达式(RegExp)和字符串(String)的方法
评论
现代 JavaScript 教程相关推荐
- 后端返回number类型数据_【JavaScript 教程】标准库—Number 对象
作者 | 阮一峰 1.概述 Number对象是数值对应的包装对象,可以作为构造函数使用,也可以作为工具函数使用. 作为构造函数时,它用于生成值为数值的对象. var n = new Number(1) ...
- Javascript教程:AngularJS的五个超酷特性
日期:2012-7-17 来源:GBin1.com AngularJS是一个超棒的javascript框架,不单单对于开发人员来说非常有吸引力,对于UI设计师来说也同样出色.在这篇教程中,我们将简单 ...
- JavaScript教程之快速入门
##JavaScript教程 #js简介 javaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛 ...
- JavaScript教程--从入门到精通
JavaScript是由Netscape公司开发并随Navigator导航者一起发布的.介于Java与HTML之间.基于对象事件驱动的编程语言,正日益受到全球的关注.因它的开发环境简单,不需要Java ...
- 对象数组参数_【JavaScript 教程】标准库—Array 对象
作者 | 阮一峰 1.构造函数 Array是 JavaScript 的原生对象,同时也是一个构造函数,可以用它生成新的数组. var arr = new Array(2);arr.length // ...
- 菜鸟教程 之 JavaScript 教程
From:菜鸟教程 JavaScript:https://www.runoob.com/ W3School JavaScript 教程:http://www.w3school.com.cn/js/in ...
- linq结果转换object_【JavaScript 教程】标准库—Object 对象
作者 | 阮一峰 1.概述 JavaScript 原生提供Object对象(注意起首的O是大写),本章介绍该对象原生的各种方法. JavaScript 的所有其他对象都继承自Object对象,即那些对 ...
- javascript教程:console.log 详解
对应WEB程序员,console.log 可以说是神器,极大地方便了程序开发.程序猿:学习了,用Console写日志比alert方便多了. console.log(object[, object, . ...
- javascript教程_JavaScript教程
javascript教程 JavaScript is the most widely used scripting language on Earth. And it has the largest ...
- ZetCode JavaScript 教程
来源:ApacheCN ZetCode 翻译项目 译者:飞龙 协议:CC BY-NC-SA 4.0 贡献指南 本项目需要校对,欢迎大家提交 Pull Request. 请您勇敢地去翻译和改进翻译.虽然 ...
最新文章
- 全民K歌推荐后台架构
- 正则表达式引擎执行原理——从未如此清晰!
- centos java发送邮件发不出去_传真机发不出传真怎么办 传真机发不出传真解决方法【详解】...
- 神经网络压缩之低比特量化的优劣分析
- 登录工程:传统 Web 应用中的身份验证技术
- Python学习---django知识补充之CBV
- elasticsearch5.0启动出现的错误
- 小区移动基站能否杀人于无形?
- Apache 简单设置虚拟主机
- 华为员工 iPhone 发文遭罚;百度遭约谈勒令整改;锤子 1577 万元被法院保全 | 极客头条...
- Windows 环境下分布式跨域Session共享(转)
- 基于java在线影院订票系统论文
- 2020年中国轴承套圈行业市场现状分析,国内市场格局十分分散「图」
- 计算机指纹驱动程序,计算机指纹失灵,提示找不到支持Windows Hello指纹的指纹识别器...
- 谷歌、亚马逊在区块链都耽搁了什么 竟让后起的脸书名声大噪
- 10款实用苹果Siri快捷指令分享
- windows 8 Surface 会成功吗?
- 手机IP和内网外网IP的访问
- 【从零学习OpenCV 4】Windows系统中安装OpenCV 4
- 互联网的成功和端到端原则
热门文章
- 技校计算机程序设计,如何编写技工学校计算机程序设计课程校本教材
- StanfordDB class自学笔记 (5) JSON Data
- JAVA基础(3/17)-基本语法_运算符
- 重命名Docker容器名称
- Ubuntu镜像下载地址:Ubuntu-14.04/16.04/18.04
- 第十篇 requests模块
- WPF 引用 ttf文件
- 12月22号至27号进度报告
- android-async-http框架之与网络进行数据交互
- 将指定用户下所有表的查询权限赋权给查询用户