前端语言串讲 | 青训营

147 阅读3分钟

一、前端语言的基本能力

  • HTML(超文本标记语言):构建了实体、框架,是一种标记语言,包含许多标签
  • CSS(层叠样式表):能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力
  • Javascript:是一种具有函数优先的轻量级,解释型或即时编译型的编程语言

1.1 HTML

最小单位是用<>包裹起来的一串字符,标签构成的文本文件

  1. (省略了尖括号)
  • !DOCTYPE html 声明为 HTML5 文档
  • html 元素是 HTML 页面的根元素
  • head 元素包含了文档的元(meta)数据,如 meta charset="utf-8" 定义网页编码格式为 utf-8。
  • title 元素描述了文档的标题
  • body 元素包含了可见的页面内容
  • h1 元素定义一个大标题
  • p 元素定义一个段落
  1. HTML 是用来描述网页的一种语言。
  • HTML 指的是超文本标记语言: HyperText Markup Language
  • HTML 不是一种编程语言,而是一种标记语言
  • 标记语言是一套标记标签(markup tag)
  • HTML 使用标记标签来描述网页
  • HTML 文档包含了HTML 标签及文本内容
  • HTML文档也叫做 web 页面

1.2 CSS

  • CSS 指层叠样式表 (Cascading Style Sheets)
  • 样式定义如何显示HTML 元素
  • 样式通常存储在样式表中
  • 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
  • 外部样式表可以极大提高工作效率
  • 外部样式表通常存储在 CSS 文件中
  • 多个样式定义可层叠为一个
h1 {color:blue;font-size:12px;}

1.3 JS

  • JavaScript 是一种轻量级的编程语言。
  • JavaScript 是可插入 HTML 页面的编程代码。
  • JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
  • JavaScript 很容易学习。
  1. seven types七种类型
  2. basic vocabulary 基本语法
  3. object
  4. function

二、前端语言的协作配合

2.1 CSS in HTML

  • lnline css:在html下的标签中通过style 或class来添加样式
<p style = "color:blue;">This is a paragraph.</p>
  • lnternal css:在html头部通过style标签定义一些类的样式
<head>  
 <style type = text/css>  
  body {background-color: blue;}
  p {color: yellow;}
 </style>  
</head>
  • external css:在html头部引用link标签
<head>
 <link rel="stylesheet" type="text/css" href="style.css">
</head>

2.2 Javascript in HTML

通过script标签引用,需要注意的是:这里定义的都是全局函数,在整个浏览器都可访问到。

2.3 HTML in JavaScript

  1. 通过传统的DOM API
  2. 通过JSX

2.4 css in Javascript

  1. 通过DOM API
  2. 通过jsx
  3. 通过jss

三、HTML(5)

3.1 HTML DTD

3.1.1 基本语法

  • 标签(元素)
<tagname>...</tagname>
  • 文本 text 不能带尖括号 如果有尖括号应进行转义
例:<![CDATA[text]]>
  • 注释
<!--comments-->
  • DTD Document Type Defination 语法定义文档

  • 处理信息 给浏览器看的特殊标记 目前没什么用 <?a 1?>

3.1.2 HTML标签分类

文档型 HTML必须具备的标签 闭合型 换行型 H5新元素

3.1.3 HTML head标签

一般为功能性的用户无法看到

  • title 标题,全局统一
  • base 向页面所有相对URL提供前缀 全局统一,不建议使用
  • meta 通常为约定好的键值对
  • link rel决定类型,href决定引入地址,一般用于引入css等资源
  • script type指定MIME类型 可内嵌代码,可外链文件

3.1.4 HTML body功能性标签

大致分为:根元素,文本语义,表单元素,表格元素,嵌入元素等

3.1.5 HTML ARIA

为无障碍设计的属性

3.1.6 HTML5

不再是单纯地纯文本标记语言 Canvas 音视频 拖拽 Worker svg 位置信息等 加入了许多的语义化标签,使得网页层次更加清晰 扩展了表单组件,支持radio 下拉框 颜色时间选择器等等 加入了localStorage sessionStorage存储机制

HTML5 中的一些有趣的新特性

  • 用于绘画的 canvas 元素
  • 用于媒介回放的 video 和 audio 元素
  • 对本地离线存储的更好的支持
  • 新的特殊内容元素,比如 article、footer、header、nav、section
  • 新的表单控件,比如 calendar、date、time、email、url、search

HTML5 应用

使用 HTML5 你可以简单地开发应用

  • 本地数据存储
  • 访问本地文件
  • 本地 SQL 数据
  • 缓存引用
  • Javascript 工作者
  • XHTMLHttpRequest 2

3.1.7 HTML5 IndexedDB

IndexedDB(50Mb之间) 使用对象存储空间 可以存储任何类型的数据 ps:web storage(5-25MB) 只能存储字符串 cookie(4kb)

3.1.8 HTML5 PWA & AMP

PWA基于Service Worker AMP便于搜索引擎爬取

3.1.9 HTML5 Audio Video

定制化Media能力

3.1.10 HTML5 二进制

Blob,ArrayBuffer等

3.1.11 HTML5 web worker

  1. 在主线程中newWorker
  2. 在主线程中定义监听器
  3. 使用postMessage互传数据
  4. 使用terminate销毁线程

3.1.12 HTML5 web socket

一种全双工通信方式

3.1.13 HTML5 shadow DOM

一个相对隔离的小环境,可以避免内部的元素被外部元素访问到 典型的例子是video标签

3.1.14 HTML5 web component

自定义html标签