Web 前端存储
浏览器缓存CookieHTTP 是无状态的协议,对于事务处理没有记忆能力,每次请求完成后服务器不会保存任何会话信息,为了跟踪请求者的身份和会话状态,标示多个请求是不是来自于同一客户端,需要主动维护一个状态,因此通过 cookie 或 session 实现 在客户端 JS 中可以通过 document.cookie 访问和修改,Domain 和 Path 必须设置为对应 cookie 相同的值,否则会创建新的 cookie cookie 可以手动设置过期时间,通常保持时间较长 cookie 中不允许存在逗号、分号、空格,可以使用 encodeURLComponent() 进行处理 浏览器一般总共最多存 300 个 cookie,而针对同一个网站最多存 20 个 cookie 单个 cookie 数据最大容量为 4KB 左右,根据不同浏览器可能会有偏差 Session 是一种记录服务器和客户端对话状态的机制,存储容量远高于 cookie。一般失效时间比较短,客户端关闭或超时会默认失效 cookie 和 session 都可以用来认证用户身份的信息,区别在于...
前端工程化 | 命名空间与模块化
前端工程化 | JS 的模块化前端项目的模块化可以从三个角度理解,同时也反映了 JavaScript 文件组织方式逐层深入的发展过程: 1 - 函数的模块化最原始的函数模块化方式即直接在 JS 文件中定义全局函数来实现特定功能 12function method1() {...}function method2() {...} 随着项目复杂化,这种方式会有函数命名冲突,全局变量污染的问题 在 ES6 标准之前,JS 语言并不支持类,因此需要通过特定写法对此进行优化,主要有两种方式: 命名空间(namepace) 12345678910111213141516var MyNameSpace = MyNameSpace || {};MyNameSpace.Module1 = function() { function privateFunc() { console.log("private function"); } return...
Promise 异步编程
背景由于浏览器的渲染主线程只有一个,JS 采用了异步的方式避免任务阻塞。从原理上,JS 的异步通过 event loop 实现;而从使用上,JS 的异步主要通过 Promise 实现 对于同步代码,先后执行顺序是固定的,能够得知确切的输入与输出。而在异步代码中,执行完成的之间无法确定,不能保证后续代码执行时已经得到结果,比如 DOM 操作: 12345678function addContent(src) { let content = document.createElement('content'); content.src = src; document.head.append(content);}addContent('./a.js');init(); // 执行 init 初始化函数时,addContent...
categories
Hexo + Butterfly 个人博客 安装 Hexo 基于nodejs,按照官方文档直接初始化项目,成功后 hexo server 本地查看默认页面 配置 Github Pages 部署网站 按照 username.github.io 命名格式新建 github repository,配置好 SSH key,在 hexo 项目中的配置文件 _config.yml 中的 deploy 字段下设置 github 代码库地址: 123456deploy: type: git repo: github: url: git@github.com:cheliosky/cheliosky.github.io.git branch: main hexo clean hexo generate hexo deploy 访问 username.github.io 即可预览线上页面 Git 管理网站源码 git init 本地初始化仓库 .gitignore 文件添加忽略...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment






