101 lines
3.5 KiB
Markdown
101 lines
3.5 KiB
Markdown
# 杂谈 记录一些碎碎念
|
||
|
||
---
|
||
|
||
npx 用来临时使用一个库(如 rollup)
|
||
|
||
---
|
||
|
||
强缓存和协商缓存的 header 参数
|
||
强缓存:
|
||
Expires:过期时间,如果设置了时间,则浏览器会在设置的时间内直接读取缓存,不再请求
|
||
Cache-Control:当值设为 max-age=300 时,则代表在这个请求正确返回时间(浏览器也会记录下来)的 5 分钟内再次加载资源,就会命中强缓存。
|
||
cache-control:除了该字段外,还有下面几个比较常用的设置值:
|
||
(1) max-age:用来设置资源(representations)可以被缓存多长时间,单位为秒;
|
||
(2) s-maxage:和 max-age 是一样的,不过它只针对代理服务器缓存而言;
|
||
(3)public:指示响应可被任何缓存区缓存;
|
||
(4)private:只能针对个人用户,而不能被代理服务器缓存;
|
||
(5)no-cache:强制客户端直接向服务器发送请求,也就是说每次请求都必须向服务器发送。服务器接收到 请求,然后判断资源是否变更,是则返回新内容,否则返回 304,未变更。这个很容易让人产生误解,使人误 以为是响应不被缓存。实际上 Cache-Control: no-cache 是会被缓存的,只不过每次在向客户端(浏览器)提供响应数据时,缓存都要向服务器评估缓存响应的有效性。
|
||
(6)no-store:禁止一切缓存(这个才是响应不被缓存的意思)。
|
||
|
||
---
|
||
|
||
mvvm:
|
||
|
||
vm: 关注绑定器,将数据和视图绑定,自动更新,低耦合。model仅关注数据更新
|
||
|
||
---
|
||
|
||
垃圾回收相关:
|
||
|
||
window.gc: 手动调用垃圾回收
|
||
|
||
现代主要使用标记清除法。
|
||
进入执行环境的时候标记上。
|
||
离开环境的时候直接回收。
|
||
|
||
常见的内存泄漏:
|
||
全局变量,解决方式: 全局变量
|
||
定时器未清除:记得及时清除
|
||
闭包: 解决方式: 及时设置为null
|
||
dom元素删除后未清除: 解决方式: 及时设置为null
|
||
|
||
栈(Stack)
|
||
特点:栈是一种后进先出(LIFO, Last In First Out)的数据结构。
|
||
|
||
存储内容:用于存储简单的数据类型(如数字、字符串、布尔值)和函数调用上下文。
|
||
|
||
内存分配和释放:内存分配和释放非常快速,直接在栈顶操作。函数调用结束后,栈帧自动释放。
|
||
|
||
作用:主要用于管理函数调用和局部变量。
|
||
|
||
堆(Heap)
|
||
特点:堆是一种无序的数据结构,用于动态分配内存。
|
||
|
||
存储内容:用于存储复杂的数据类型(如对象、数组)。
|
||
|
||
内存分配和释放:内存分配比较灵活,但管理和回收内存需要垃圾回收机制(GC, Garbage Collection)来处理。
|
||
|
||
作用:用于存储需要动态分配的较大数据块和复杂数据结构。
|
||
|
||
---
|
||
|
||
babel相关:
|
||
|
||
Babel 是一个工具链,主要用于将采用 ECMAScript 2015+ 语法编写的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。
|
||
|
||
---
|
||
|
||
es6几个主要的:
|
||
1. let, const
|
||
2. 箭头函数
|
||
3. class
|
||
4. 模板字符串
|
||
5. 解构
|
||
6. 函数传参默认值&rest
|
||
|
||
---
|
||
|
||
http响应头请求头
|
||
|
||
请求头:
|
||
content-type: 请求的数据的类型
|
||
Authorization: 身份验证,如JWT这样的
|
||
UA: 浏览器环境
|
||
|
||
响应头:
|
||
set-cookie
|
||
content-length
|
||
cache-control
|
||
|
||
跨域cookie需要服务器进行设置
|
||
|
||
|
||
---
|
||
|
||
SEO优化
|
||
|
||
1. 大量使用语义化标签
|
||
2. 保证关键词覆盖率,title之类,配置meta信息
|
||
3. 制定一个站点地图,放在“robot.txt”中
|
||
4. 结构化数据 |