云加JavaScript

课程源码页面:https://github.com/plter/YunpJavaScriptCourse

经过这么多年的进化,JavaScript已经不再是一门单纯的脚本语言了,已经成为一个运行高效、功能强大、集前后端编程技术于一体的全方位的多功能编程语言,该课程所讲的是完整的JavaScript编程技术,所以如果将课程命名为前端课程已不合适,从而命名为《云加JavaScript》,课程设计层面也将JavaScript当做一门编程语言对待去设计课程,这样对于学习来讲,体系更加清晰完整。

HTML(HyperText Markup Language),超文本标记语言,标准通用标记语言下的一个应用。

“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。

超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,1997年,在ECMA(欧洲计算机制造商协会)的协调下,由Netscape、Sun、微软、Borland组成的工作组确定统一标准:ECMA-262。因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

  1. 第一节 JavaScript HelloWorld
  2. 第二节 引入外部js文件
  3. 第三节 变量与常量
  4. 第四节 基本数据类型
  5. 第五节 JavaScript函数
  6. 第五节 JavaScript函数-作业-01-求最大值
  7. 第六节 箭头函数
  8. 第七节 函数闭包
  9. 第八节 命名空间
  10. 第九节 JavaScript流程控制
  11. 第十节 JavaScript循环
  12. 第十节 JavaScript循环-作业-01-输出0到1000之间的偶数
  13. 第十节 循环-作业-02-在控制台输出九九乘法表
  14. 第十一节 JavaScript字符串
  15. 第十一节 JavaScript字符串-作业-01-解析一段简单的XML格式的数据
  16. 第十二节 JavaScript数组
  17. 第十二节 JavaScript数组-作业-01-冒泡排序算法
  18. 第十三节 JavaScript对象
  19. 第十四节 计时器
  20. 第十四节 计时器-作业-01-播放同步歌词
  21. 第十五节 正则表达式
  22. 第十五节 正则表达式-作业-01-取出身份证号中的生日
  23. 第十五节 正则表达式-作业-02-使用正则表达式解析LRC文件
  24. 第十五节 正则表达式-作业-03-用正则表达式解析参数对
  25. 第十六节 URL编解码
  26. 第十七节 eval函数执行动态生成的js
  27. 第十八节 parseInt和parseFloat
  28. 第十九节 isNaN和isFinite
  29. 第二十节 ES6 解构
  30. 第二十一节 Map和WeakMap
  31. 第二十二节 Set与WeakSet
  32. 第二十三节 Date
  33. 第二十三节 Date-作业-01-数字时钟
  34. 第二十四节 JSON格式数据操作
  35. 第二十五节 Math类
  36. 第二十六节 Function对象
  37. 第二十七节 Proxy对象
  38. 第二十八节 Promise
  39. 第二十九节 生成器
  40. 第三十节 async和await
  41. 第三十一节 WebAssembly
  42. 第三十二节 Symbol

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。Document Object Model的历史可以追溯至1990年代后期微软与Netscape的“浏览器大战”,双方为了在JavaScript与JScript一决生死,于是大规模的赋予浏览器强大的功能。微软在网页技术上加入了不少专属事物,既有VBScript、ActiveX、以及微软自家的DHTML格式等,使不少网页使用非微软平台及浏览器无法正常显示。DOM即是当时蕴酿出来的杰作。

BOM(Browser Object Model) 是指浏览器对象模型,是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

早期的JavaScript并不支持面向对象,一直以来JavaScript都是一门基于对象的脚本语言,也就意味着早期的JavaScript并没有类的概念,直到ES5出现了prototype,才让JavaScript面向对象编程成为可能,但是写法并不能让大多数人接受,而且规模化之后会让人觉得代码难以维护,虽说JavaScript入门门槛很低,但是要写出庞大的项目绝对是非常困难的,这促使了ES6对于面向对象的全面支持,在ES6类才真正有了class这个关键字,本章将介绍多种实现面向对象编程的方式,可让你在学习JavaScript面向对象的同时对面向对象编程思想也有了相对深入的理解。

JavaScript语言的事件机制是套相对复杂的机制,深刻理解该机制对于写出优秀的JavaScript代码有巨大好处。

本章课程讲解数据与存储相关的Web API。在数据与存储相关的API中,有ApplicationCache和WebSQL这两个已经过期,所以本课程中不再对其进行讲解,如果你还想看相关的课程,可以看我在2012年录制的《HTML5视频教程》。