随着前端的不断探索和进化,传统的前端“三剑客”技术也是日新月异,而且彼此之间联系越来越紧密。本次课程会帮你复习一下前端的基本知识,“温故而知新”,同时也扩展交流一下周边有趣的小知识。
前端语言的基本能力
- HTML:HTML的全称是Hypertext Markup Language,即超文本标记语言,是一种标记语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。
- CSS:CSS的全称是Cascading Style Sheets,即层叠样式表,是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
- JavaScript:JavaScript简称“JS”,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式
而这张图则更加有趣,HTML为我们构建了比如说像眼睛和嘴巴的实体,HTML+CSS可以画出脸蛋加上眼睛和嘴巴的样子,再加上JS以后我们就可以做一个小游戏了,比如鼠标可以点选人的外貌键盘可以控制小人的方向,也就是说这三个结合起来一个系统才是完整的,这三个语言都是同等重要的,缺一不可。
HTML
超文本标记语言文档制作不是很复杂,但功能强大,支持不同数据格式的文件镶入,这也是万维网(WWW)盛行的原因之一,其主要特点如下:
- 简易性:超文本标记语言版本升级采用超集方式,从而更加灵活方便。
- 可扩展性:超文本标记语言的广泛应用带来了加强功能,增加标识符等要求,超文本标记语言采取子类元素的方式,为系统扩展带来保证。
- 平台无关性:虽然个人计算机大行其道,但使用MAC等其他机器的大有人在,超文本标记语言可以使用在广泛的平台上,这也是万维网(WWW)盛行的另一个原因。
- 通用性:另外,HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。
CSS
CSS这边不做过多解释,后续有课程会详细介绍。
CSS的语法非常简单,但能否运用得当可能是另外一件非常复杂的事情,取决于你需要把HTML的结构设计得合理,并设计配套的选择器方案。
CSS提供的选择器有:
- 类选择器:根据Class来选择
- 全选择器:选中全部,使用 * 来代替
- 伪元素选择器:可以在元素的内容的之前、之后都可以添加新的元素
- ID选择器:可以根据ID来选择元素,一个页面的ID一般是唯一的
- 元素类型选择器:比如说p,可以选中所有的p标签
- 伪类选择器:比如a:link可以选中所有没有被访问的超链接标签
等等等等...
我们可以级联使用各种选择器。
这边也只是大致了解一下,需要的时候可以去MDN查找一下
JavaScript
JavaScript的发展历程:
JavaScript是34岁的Brendan Eich花了十天时间设计出来的,想想这真的有点不可思议。
JavaScript的特点
- 借鉴C语言的基本语法:
- 借鉴Java语言的数据类型和内存管理;
- 借鉴Scheme语言,将函数提升到“第一等公民”(first class)的地位;
- 借鉴Self语言,使用基于原型(prototype)的继承机制。
下图列举了JS最通用的一些作用以及现代化JS的一些能力
JavaScript的基本语法
- String
- Number
- Boolean
- Null
- Undefined
- Symbol
- Object
- Array
- Function
下图展示了这三门语言是如何在浏览器当中运转的
前端语言的协作配合
CSS in HTML
最基本的使用方式有三种:
- Inline CSS:直接在HTML的标签中通过style或者class来添加样式
- Internal CSS:内部的CSS,即在HTML头部通过style标签定义一些类的样式
- External CSS:引入web的样式,即在HTML头部通过link标签引入
JavaScript in HTML
将页面上的HTML部分转化为对应的JS对象
HTML in JavaScript
主要是利用JavaScript动态修改HTML内容
下图为更加现代化的JSX技术,比较完美的将HTML与JS进行结合
CSS in JavaScript
通过JavaScript动态操作CSS
使用例:
JSS是另外一种方式,这样就不用写单独的CSS文件,直接在JS中定义一些Class名字以及对应的样式,然后直接在代码中通过类似CSS Module的方式来使用就可以了,使用例如下所示:
你不知道的HTML(5)&拓展交流
我认为这两个小结多是偏向理论的东西,只需要大致了解即可,听得差不多就可以了