学习现代 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 ...
随机推荐
- 数位DP::SoSDP
数位DP:: SoSDP 学习博客(待补) 下面做一些例题: SPECIAL PAIRS 题意 给n个数字,求这些数字有多少对的\(AND\) 结果是0.数字不大于1e6.顺序反相反视为不同的对. 思 ...
- 基于Redis的分布式锁真的安全吗?
说明: 我前段时间写了一篇用consul实现分布式锁,感觉理解的也不是很好,直到我看到了这2篇写分布式锁的讨论,真的是很佩服作者严谨的态度, 把这种分布式锁研究的这么透彻,作者这种技术态度真的值得我好 ...
- python __call__或者说func()()的理解
__call__ 对象后面加括号,触发执行. 注:构造方法的执行是由创建对象触发的,即:对象 = 类名() :而对于 __call__ 方法的执行是由对象后加括号触发的,即:对象() 或者 类()() ...
- python静态属性的理解
python中并没有像 C语言 C++ java 那样定义静态属性的关键字 static 那么在python中是怎么做的呢? class A(object): name="lance&quo ...
- hive字段名、注释中文显示问号
问题如下图: 解决方法: header1的/etc/my.conf文件,在[mysqld]分组下面添加配置:character-set-server=utf8init_connect='SET NAM ...
- python小练习: 给定一个数组 按重复次数 降序排列输出 数组非空且为正整数
假设有个列表 a=[1,1,1,2,2,4,5,5,5,5] (非空且为正整数) 那么根据要求 最终输出的形式为 5,1,2,4 (按重复次数 降序排列输出) 代码实现及解释: a=[1,1,1 ...
- 《11招玩转网络安全》之第三招:Web暴力破解-Low级别
Docker中启动LocalDVWA容器,准备DVWA环境.在浏览器地址栏输入http://127.0.0.1,中打开DVWA靶机.自动跳转到了http://127.0.0.1/login.php登录 ...
- 【DirectX12】第六章-练习
练习3. (a) //LINELIST std::array<VPosData, > posData = { VPosData({ XMFLOAT3(-2.0f, -1.0f, +1.0f ...
- Spring rabbitMq 中 correlationId或CorrelationIdString 消费者获取为null的问题
问题 在用Spring boot 的 spring-boot-starter-amqp 快速启动 rabbitMq 是遇到了个坑 消费者端获取不到:correlationId或Correlatio ...
- windows bat 批处理 执行 for 循环无法执行?
示例: cmd 命令行可以执行.但是 写成 bat 却不能执行, for /f "delims==" %a in ('dir /b /s F:\F\*.TXT')do copy ...