前端语言串讲 | 青训营

142 阅读3分钟

1、前端语言的基本能力

HTML

含义:

全称(Hypertext Markup Language),用于构建整体框架。控制内容的布局,提供网页设计的结构,是任何网页的基本模块。

一般框架:

<html>
    <head>
        <title>XXX</title>
    </head>
    <body> 一般body放各种标签,列几个标签:
        <h1>有h1~h6六种标题标签</h1>
        <p>段落标签</p>
        <em>强调(语义)标签(斜体)</em><strong>强调(内容)标签(加粗)</strong>
        <br>换行标签</br>
        <div>div标签,没有语义,是一个区块,一般用于页面的布局</div>
        <img>图片标签</img>
        <a>a标签,用于超链接</a>
    </body>
</html>

CSS

含义:

全称(Cascading Style Sheet),为网站提供样式。对网页的各个元素设置样式,使网页可以适应各种不同大小的屏幕尺寸,主要处理网页的外观和感觉。

语法:

选择器属性三部分构成。 Selector Declaration{Property: Value; Property: Value;}

Javascript

含义:

用于提升网页的互动性。可以处理复杂的函数和功能,可以增强功能性。

特点:

  1. 借鉴C语言的基本语法;
  2. 借鉴Java语言的数据类型和内存管理;
  3. 借鉴Scheme语言,将函数提升到"第一等公民”(first class)的地位;
  4. 借鉴Self语言,使用基于原型 (prototype) 的继承机制。

数据类型

基本类型(值类型):
  1. String: "XXX"
  2. Number: 111
  3. Boolean: true/false
  4. Null: null
  5. Undefined: undefined
  6. Symbol: Symbol('xxx') Symbol()函数会返回symbol类型的值,每个从Symbol()返回的symbol值都是唯一的。
  7. BigInt: 1n 需添加后缀n,只用来表示整数,没有位数的限制,任何位数的整数都可以精确表示。
复杂类型(引用类型):
  1. Object:
var a = {
    name: "aaa",
    calc: function() {
        console.log(aaa);
    }
}
  1. Array
var arr = [1, 2, "abc", true]
  1. Function
function funcName(param1, param2) {
    var a = param1 + param2;
    return a;
}

三件套综述

用“人”的肉体结构来看,HTML相当于“人”的“骨架”,CSS相当于“人”的“皮肤”,JavaScript相当于“人”的“大脑系统”。

2、前端语言的协作配合

CSS在网页中有三种写法,内联引入(Inline CSS)、嵌入式(Internal CSS)、外部引入(External CSS)。JavaScript在网页中位于script标签中,JavaScript也可以表示HTML和CSS。

<p style="color: blue;"></p>
<head>
    <style type = text/css>
        body {background-color: blue;}
    </style>
</head>
<head>
    <link rel="stylesheet” type="text/csshref="style.css">
</head>
<script>
    var a = 1;
</script>

3、你不知道的HTML(5)

HTML标签分类:
  • 文档型:< !DOCTYPE>,< head>,< body>等
  • 闭合型:闭合标签:< p></ p>等; 空标签:< br>,< img>,< input>等
  • 换行型:块级标签:< div>,< h1>等; 行内标签:< span>,< a>等
  • H5新元素:语义化标签:;媒体标签:< video>,< audio>,< embed>;表单标签:< input type="date">;功能标签:< canvas>,< progress>
HTML ARIA

在一些属性增加了aria,方便了残疾人士对网页的浏览。也有利于开发者设计UI系统。

语义化标签

如< aside> < header>等标签,方便开发者进行开发和维护。

表单增强

新增< input>标签,可以设置提示信息、表单校验、日期等选择控件、进度条等属性。

IndexedDB

JavaScript的内置数据库,提供了类似数据库风格的数据存储和使用方式。存储的数据是永久保存的,且以对象的形式存储,每个对象有一个key值作为索引。

AMP 和 PWA
  • 加速移动页面AMP:是一个开源项目,目的是使移动页面加载和优化更快。好处有:网络加载时间加快、跳出率低等。
  • 渐进式网站应用程序PWA:是一种网站应用程序,使用网站的现代功能概念,以便像其他应用程序一样向用户提供体验。好处有:数据用的少、不需要频繁更新且更新也很快、成本低等。
Video和Audio

HTML5提供了video和audio标签,用于播放视频和音频。

Web Socket

4种状态:

  • 连接中状态connectting state:oppening handshake进行握手
  • 连通状态open state:data transfer,client和server之间可以传输数据
  • 关闭中状态closing state:closing handshake关闭握手
  • 关闭状态closed state:TCP connection terminated连接已断开
// Create WebSocket connection.
const socket = new WebSocket('ws://localhost:8080');
// Connection openedsocket.addEventListener('open', (event)=>{
    socket.send('Hello Server!');
});
// Listen for messages
socket.addEventListener('message', (event)=>{
    console.log('Message from serverevent.data);
});
Web Component

可以用JavaScript封装一个标签,用于html中。