前端基础
JavaScript
js基本类型
-
string
-
number
-
boolean
-
null
-
undefined
-
symbol
-
object(array; function)(不需要使用new)
三剑客在browser的运作
-
browser包含渲染引擎 JavaScript引擎
渲染引擎:
加载页面,
依据html生成DOM树;
计算css树;排版;
合并某些部分(称为图层)提高渲染效率;
绘制页面
JavaScript引擎:
js源码通过parser解析为AST树;
通过ignition转化为字节码(在虚拟机运行或者优化为机器码)
前端语言的协作
css in html
-
inline css
-
internal css
-
external css
JavaScript in html
16:00 啥同步异步;啥全局的js 啥盗墓API 听不懂
通过DOM树,JavaScript可选择或修改元素
event机制
执行 一个宏任务和多个微任务;这个任务(task) 队列 和event有啥关系?
html in JavaScript
动态修改html内容?使用模板语言mustache实现?听不懂
css in JavaScript
用于修改某些元素的属性值
听不懂咋实现的?
解决css全局类名冲突问题:css_moulde(为类名生成随机字符串)
HTML5
element
HTML ARIA(Accessible Rich Internet Applications)
为 HTML 元素添加额外的语义信息?不理解
语义化标签
表单增强
。。。
存储
indexDB
用于大量数据存储,类似database
PWA && AMP
听不懂
PWA:直接返回本地文件,提高页面访问效率?
AMP:对搜索引擎,提高关键内容曝光和访问速度?
audio
video
binary
other API
web worker
支持多线程,负担来自其他线程的 沉重的计算任务
service worker: 拦截网络的请求,通过cache得到缓存文件
web socket
在Web浏览器和服务器之间实现全双工通信的网络协议(WebSocket允许服务器主动向客户端发送数据,而不需要客户端发起请求)
实际是tcp请求 是什么意思?
shadow DOM
web component
支持自定义标签
听不懂是咋定义的
SVG && canvas
canvas使用点阵绘图-->屏幕尺寸改变-->失真
canvas 不支持event 处理
canvas 用于游戏绘图
webGL && webGPU
通过着色器语言与GPU交互-->绘制图形(啥着色器 GPU?)
htmlAssembly
一种编码方式,可直接于browser运行,和JavaScript环境隔离(htmlassembly 和JavaScript通讯干嘛?)
user interface 和 data的交互
MVC
view 处理interface相关;
model 处理相关数据层;
controller 处理业务逻辑
主要思想为 ui 数据 交互逻辑的分离
MVP
MVVM