1 HTML是框架结构相当于骨架,CSS是外表相当于皮肤,Javascript用户交互体验相当于肌肉 1.1 HTML HTML是前端开发中的基本语言
1.2 CSS 语法简单的语言,拥有的选择器类型有:类选择器,全选择器,伪元素选择器,id选择器,元素类型选择器,伪类选择器等,需要根据情况选择合适的选择器
1.3 Javascript 数据类型:String字符串,Number数值,Boolean布尔值,Null空值,Undefined未定义,Symbol生成的值唯一,BigInt任意精度格式的整数(ES10新增),Object(Array,Function作为继类)对象类
2 它们是如何在浏览器中运转的? 使用浏览器一般包括两种引擎,渲染引擎和Javascript引擎
(上图为渲染引擎的使用过程)
(上图为Javascript引擎的使用过程,以v8举例)
2.1 CSS in HTML 第一种:在元素标签里写;第二种:在HTML文件的开头的里写;第三种:另写一个文件,在html文件里用link标签link进去
2.2 Javascript in HTML 默认script都是定义在全局的
Dom事件:事件捕获(向下,计算机找精准的触发元素),事件捕获(向上冒泡,开发者事件代理相关的功能)
Javascript是单线程的,先执行同步再执行异步,异步遇到微任务,先执行微任务,执行完后如果没有微任务,就执行下一个宏任务,如果有微任务,就按顺序一个一个执行微任务。
JSX技术比较完美地将JavaScript和HTML结合起来(如图所示)
2.3 CSS in Javascript 如图所示的三种方法
3 HTML HTML并非图灵完备,只是一门标记语言。
3.1 HTML标签分类
head标签,head里一般是功能性标签,用户是看不到的。
body功能性标签
4 HTML5
4.1 HTML5语义化标签
header网页头部,nav导航条,aside侧边栏,section作分割,底部footer
4.2 HTML5存储
4.3 HTML5 PWA和AMP
(上图为PWA流程图)
(上图为AMP流程图)
4.4 HTML5音频能力
Shadow DOM是一个特殊节点,可以构建更复杂的structure,Shadow DOM可以避免自己内部的节点被外部访问到
Web Component有自定义标签的能力
SVG用来交互(可扩展,尺寸变化不会有明显失帧,对事件处理会更好,不能绘制很复杂的图形,join),Canvas用来画各种各样的模型(尺寸变化会失帧,ping)
5 MVC,MVVM,MVP MVC(VIEW,MODEL,CONTROLLER) :VIEW界面相关交互,MODEL维护界面渲染所需数据层,CONTROLLER处理业务逻辑
MVP:把所有操作(view,model)类聚到presenter
MVVM:与mvp类似,区别是实现双向绑定的能力,同时viewmodel与view层耦合,具备可复用性