一、本地存储:
本地存储分为cookie,以及新增的localStorage和sessionStorage
区别:
1、cookie :存储在本地 容量最大4k
在同源的http请求时携带传递,损耗带宽,可设置访问路径,只有此路径及此路径的子路径才能访问此cookie,在设置的过期时间之前有效
2、localStorage: 存储在本地 容量为5M或者更大
不会在请求时候携带传递,在所有同源窗口中共享,数据一直有效,除非人为删除,可作为长期数据
(一直都有,只要不是手动清掉或者清除记录,就一直在)
3、sessionStorage: 存储在本地 容量为5M或者更大
不会在请求时候携带传递,在同源的当前窗口关闭前有效
(只要窗口关了就不存在了)
localStorage 和 sessionStorage 合称为Web Storage , Web Storage支持事件通知机制,可以将数据更新的通知监听者,Web Storage的api接口使用更方便
iPhone的无痕浏览不支持Web Storage,只能用cookie
二、表单验证:项目里要写的
三、bind与call和apply的区别:
* 都能指定函数中的this
* call()/apply()是立即调用函数
* bind()是将函数返回
Function.prototype.bind(obj) :
* 作用: 将函数内的this绑定为obj, 并将函数返回
四、let、const、var区别:
1.作用:
* let和var用于声明一个变量(变量可更改)
* const用于声明常量(常量不可更改)
2.特点
let 特点:
* 在块作用域内有效
* 不能重复声明
* 不会预处理, 不存在变量提升
const特点:
* 不能重复声明 不能修改
* 其它特点同let
var特点:
* var可重复声明
3.应用:
let应用:
* 循环遍历加监听
* 使用let取代var是趋势
const应用:
* 保存不用改变的数据
五、进程、线程、协程对比
1. 进程是资源分配的单位
2. 线程是操作系统调度的单位
3. 进程切换需要的资源很最大,效率很低
4. 线程切换需要的资源一般,效率一般(当然了在不考虑GIL的情况下)
5. 协程切换任务资源很小,效率高
6. 多进程、多线程根据cpu核数不一样可能是并行的,但是协程是在一个线程中 所以是并发
六、epoll
共享内存、事件通知
网友评论