学习现代 JavaScript 编程的最佳教程
天天编码 , 版权所有丨本文标题:0.0 学习现代 JavaScript 编程的最佳教程
转载请保留页面地址:http://www.tiantianbianma.com/the-modern-javascript-tutorial.html/
PART 1: JavaScript 语言
在此部分,我们将学习 JavaScript 语言,从零开始,一步一步,逐步掌握像面向对象编程(OOP)这样的高级功能。
此处,我们将专注于 JavaScript 语言本身,不会涉及太多关于特定运行环境的知识点。
JavaScript 简介
- 1.1 JavaScript 简介
- 1.2 代码编辑器
- 1.3 开发者控制台
JavaScript 基础
- 2.1 Hello,world!
- 2.2 代码结构
- 2.3 “use strict”
- 2.4 变量
- 2.5 数据类型
- 2.6 类型转换
- 2.7 操作符
- 2.8 比较
- 2.9 交互:alert,prompt,confirm
- 2.10 条件操作符:if,’?’
- 2.11 逻辑操作符
- 2.12 循环: while 和 for
- 2.13 “switch” 语句
- 2.14 函数
- 2.15 函数表达式和箭头
- 2.16 JavaScript 特性
代码质量
- 3.1 Chrome 调试
- 3.2 编码风格
- 3.3 代码注释
- 3.4 忍者代码
- 3.5 mocha 自动测试
- 3.6 垫片(Polyfill)
对象:基础
- 4.1 对象
- 4.2 垃圾回收
- 4.3 符号类型
- 4.4 对象方法,”this”
- 4.5 对象转原始类型
- 4.6 构造器,”new” 操作符
数据类型
- 5.1 原始类型的方法
- 5.2 数值
- 5.3 字符串
- 5.4 数组
- 5.5 数组方法
- 5.6 可迭代
- 5.7 Map,Set,WeakMap 和 WeakSet
- 5.8 Object.keys, values, entries
- 5.9 拆解赋值
- 5.10 日期与时间
- 5.11 JSON 方法,toJSON
函数:高级特性
- 6.1 递归和堆栈
- 6.2 Rest 参数和 spread 操作符
- 6.3 闭包(Closure)
- 6.4 旧语法:”var”
- 6.5 全局对象
- 6.6 函数对象,NFE
- 6.7 “new Function”
- 6.8 排程:setTimeout and setInterval
- 6.9 装饰者和转发,call/apply
- 6.10 函数绑定
- 6.11 疑难杂症
- 6.12 再谈箭头函数
对象,类,继承
- 7.1 属性标记和描述符
- 7.2 属性 getter和setter
- 7.3 属性继承
- 7.4 F.prototype
- 7.5 原生属性
- 7.6 原型方法
- 7.7 类模式
- 7.8 类
- 7.9 类继承,super
- 7.10 类检查:”instanceof”
- 7.11 混入(Mixins)
错误处理
- 8.1 错误处理:”try..catch”
- 8.2 定制错误,扩展错误
以下内容正在创建中,敬请期待。
以下内容正在创建中,敬请期待。
以下内容正在创建中,敬请期待。
PART 2: 浏览器:文档,事件,界面
学习如何管理浏览器的页面:添加元素,控制它们的大小和位置,动态创建页面和与用户进行交互。
文档(Document)
- 1.1 浏览器环境,规范
- 1.2 文档树
- 1.3 遍历文档
- 1.4 搜索:getElement 和 querySelector
- 1.5 节点属性:类型,标签和内容
- 1.6 Attributes 和 properties
- 1.7 修改文档
- 1.8 Styles 和 classes
- 1.9 元素大小和滚动
- 1.10 窗口大小和滚动
- 1.11 坐标系
事件简介
事件细节
- 3.1 鼠标事件
- 3.2 移动:mouseover/out,mouseenter/leave
- 3.3 拖动的鼠标事件
- 3.4 键盘:keydown 和 keyup
- 3.5 滚动
- 3.6 页面的生命周期:DOMContentLoaded,load,beforeunload,unload
- 3.7 资源下载:onload 和 onerror
表格(Form),控制(control)
- 4.1 表格属性和方法
- 4.2 聚焦:focus/blur
- 4.3 事件:change,input,cut,copy,paste
- 4.4 表格提交:事件和方法提交
PART 3: 延伸资料
此部分列举了与本教程密切相关,但是又没有包含在以上两个部分的大量优秀的相关资料。当然,这些资料之间没有必然的层次或先后顺序,读者可以按照自己喜欢的方式随意浏览。
动画(Animation)
- 1.1 Bezier curve
- 1.2 CSS 动画
- 1.3 JavaScript 动画
多窗口页面和窗口(Frames and windows)
正则表达式
- 3.1 模式和标记
- 3.2 正则表达式和字符串的方法
- 3.3 字符类
- 3.4 转义符,特殊字符
- 3.5 Sets 和 ranges
- 3.6 Unicode 标记
- 3.7 量词:+,*,?和{n}
- 3.8 贪婪和懒惰模式
- 3.9 扑获组
- 3.10 Backreferences:\n 和 $n
- 3.11 Alternation(OR)
- 3.12 起始符”^” 和结束符”$”
- 3.13 多行模式,”m”
- 3.14 前瞻算法
- 3.15 无限回溯问题
Promises,async/await
- 4.1 简介:回调
- 4.2 Promise
- 4.3 Promises 链
- 4.4 Promise API
- 4.5 Async/await
学习现代 JavaScript 编程的最佳教程的更多相关文章
- javascript编程的最佳实践推荐
推荐的javascript编程的最佳实践,摘要记录在这里: 可维护的代码保证代码的性能部署代码 1 可维护的代码1.1什么是维护的代码:可理解性——其他人可以接手代码并理解它的意图和一般途径,而无需原 ...
- -高级Javascript编程学习笔记----Javascript编程及架构设计最应该注意的基本点
最小全局变量 JavaScript通过函数管理作用域.在函数内部生命的变量只在这个函数内部,别的地方不可用.全局变量是指在函数外或是未声明直接简单使用的.每个Javascipt环境有一个全局对象,当你 ...
- Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程
Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程 教程简介: 本教程共71节,主要介绍了shell的相关知识教程,如shell编程需要的基础知识储备.shell脚本概念介 ...
- 7个在线学习C++编程的最佳途径
7个在线学习C++编程的最佳途径 jopen 2012-09-27 15:51:13 • 发布 摘要:C++是一种静态数据类型检查的.支持多重编程范式的通用程序设计语言.它支持过程化程序设计.数据抽象 ...
- 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记
回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...
- 学习笔记(二)--->《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记
注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法者自负一切 ...
- 学习笔记(一)--->《Java 8编程官方参考教程(第9版).pdf》:第一章到六章学习笔记
注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.违者本人不负法律责任.违法者自负一切法律责任. ...
- 实践javascript美术馆的小案例,学习到的东西还是蛮多的,包括javascript编程中的预留退路、分离javascript、以及实现向后兼容等
javascript美术馆(改进2) 一.javascript编程过程中的好习惯 1.实现预留退路 js被禁掉,图片也可以显示出来,href属性带有图片路径 <script src=" ...
- 【推荐分享】大量JavaScript/jQuery电子书籍教程pdf合集下载
不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小 15天学会jQuery(完整版).pdf 274.79 KB 21天学通JavaScript(第2版)-顾宁燕扫描版.pdf ...
随机推荐
- luogu5283 异或粽子
题目链接 思路 首先求个前缀异或和,这样就可以\(O(1)\)的得到区间异或和了. 然后发现问题转化为 找出不同的\(k\)个二元组\(x,y\).使得\(a_x \otimes a_y\)的和最大. ...
- React踩坑记
一: Support for the experimental syntax 'classProperties' isn't currently enabled ERROR in ./src/inde ...
- Redis-Cluster操作命令大全
今天整理下redis-cluster操作命令 一.Cluster操作命令 CLUSTER INFO 打印集群的信息 CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相 ...
- prometheus 集群
思路一 统一区域的监控目标,prometheus server两台监控相同的目标群体. 改变后 上面这个变化对于监控目标端,会多出一倍的查询请求,但在一台prometheus server宕机的情况下 ...
- DirectX11 With Windows SDK--26 计算着色器:入门
前言 现在开始迎来所谓的高级篇了,目前计划是计算着色器部分的内容视项目情况,大概会分3-5章来讲述. DirectX11 With Windows SDK完整目录 Github项目源码 欢迎加入QQ群 ...
- PowerEdge R430 机架式服务器安装( Ubuntu server 14.04.1 、PHP5.5.9、PHP-redis2.8、Phalcon3.1)
未解决问题:换成静态路由的话,怎么就 apt-get udpate 出现错误信息! 解决办法:么有设置网关 一.Ubuntu 系统下载地址: https://certification.ubuntu. ...
- oi回忆录
堆在一起写成流水账好了,算是记录一下自己的oi历程. [伊始] 一直到高中以前,我从来没有接触过任何oi相关的东西. 直到初三的那个暑假,在去金中报名的时候,报名表上面有一栏要填暑假想参加的夏令营. ...
- Linux 文件格式转码工具
Linux 系统下文件编码转换格式工具 ICONV 下载 https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz 源码安装: $ ./con ...
- java中几种加/解密API
如基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorit ...
- kettle使用记录
1.linux系统抽取数据 export KETTLE_HOME=/home/oracle/Kettle/pdi-ce-6.1.0.1-196/data-integration export JAVA ...