js 4

1.有没有写过 Koa 中间件,说下中 间件原理,介绍下自己写过的中间件?

没有写过

2.如何判断当前脚本运行在浏览器还是node环境中?

判断global是否为window对象,如果是则是浏览器环境,反之则是node环境

3.请描述一下 cookies sessionStorage和localstorage区别?

cookie: 是指网站为了辨别用户身份而存储在用户本地上的数据;

sessionStorage/localstorage: html5提出的一种 web 存储方式。

区别:

cookie:

cookie 会被附加在每个http请求中,所以无形中增加了流量;

由于 http 请求中的 cookie 是明文传递的,所以安全性成问题;

cookie 的大小限制在 4KB 左右,对于复杂的存储需求来说不够用的;

cookie 可设置时效性,一般有服务器生成。如果在浏览器生成,默认是关闭浏览器后失效。cookie 可指定域,但不可跨域调用;

webStorage:

webStorage 不会再请求中携带,仅在本地存储;

存储大小可以达到5M甚至更大;

数据有效时间,sessionStorage 是会话级别的存储,浏览器关闭后就不能保持了。 localStorage 会一直存在,即使关闭浏览器或窗口也会一直有效,除非用户手动删除;

sessionStorage 可以在不同的浏览器窗口中共享;localStorage 和 cookie 在所有同源窗口是共享的;

JSRUN前端笔记, 是针对前端工程师开放的一个笔记分享平台,是前端工程师记录重点、分享经验的一个笔记本。JSRUN前端采用的 MarkDown 语法 (极客专用语法), 这里属于IT工程师。