学习现代 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 ...
随机推荐
- 利用反射将IDataReader读取到实体类中效率低下的解决办法
最开始使用反射一个类型的各个属性,对气进行赋值的代码如下: public static List<T> ToList<T>(IDataReader reader) { //实例 ...
- thinkphp5 去除缓存
array_map('unlink', glob(TEMP_PATH . '/*.php')); rmdir(TEMP_PATH);
- (Python)PO设计模式
无规矩不成方圆.编写代码也是,如果没有大概的框架,管理代码将会是一件很头疼的事. 先看看笔者以前写的python脚本: 如果只有一个用例,这样看着好像挺整洁的.但是当用例越来越多后,如果元素定位发生了 ...
- string与number转换
数字变字符串:str+'' 字符串变数字:str-0
- XXX系统项目分析
目标: 实现网上需求征集与审核. 好处: (1)网上填报不受时间和地点限制: (2)流程简单明确,节省人力物力: (3)信息存储,查询,筛选远比纸质材料方便: (4)方便统计,分析数据: 度量标准: ...
- IDEA中debug启动tomcat报错。Error running t8:Unable to open debugger port(127.0.0.1:49225):java.net.BindException"Address alread in use:JVM_Bind"
解决办法: 1,如下图打开项目配置的tomcat的“Edit Configurations...” 2,打开“Startup/Connection”--------"Debug"- ...
- iTOP-4418开发板Android 5.1/4.4丨Linux + Qt5.7丨Ubuntu12.04系统
核心板参数 尺寸:50mm*60mm 高度:核心板连接器组合高度1.5mm PCB层数:6层PCB沉金设计 4418 CPU:ARM Cortex-A9 四核 S5P4418处理器 1.4GHz 68 ...
- poj2689 Prime Distance题解报告
题目戳这里 [题目大意] 给定一个区间[L,R],求区间内的质数相邻两个距离最大和最小的. [思路分析] 其实很简单呀,很明显可以看出来是数论题,有关于质数的知识. 要注意一下的就是L和R的数据范围都 ...
- 20164305 徐广皓 Exp4 恶意代码分析
实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systr ...
- js下载后台返回的docx(返回格式:文档流)文件
原文地址: https://www.jianshu.com/p/a81c68c15fbd PS需要指定responseType类型,不然文件内容会乱码哦 咦?文件名乱码?需要手动设置文件名哦↓ 呀,文 ...