![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
web前端
qq_37837908
这个作者很懒,什么都没留下…
展开
-
获取变量类型
function getType(v){ let type = Object.prototype.toString.call(v); let arr = type.split(" "); let str = arr[1].slice(0,-1); return str; } let time = new Date(); console.log(getType(...原创 2019-03-28 00:14:31 · 367 阅读 · 0 评论 -
打印对象的所有函数名(包括原型链上的函数)
function getFnNames(obj){ if(!obj) return; //打印对象(本身和原型链上)所有函数的名字,包括不可枚举的 Object.getOwnPropertyNames(obj).forEach((key,index)=>{ let type = Object.prototype.toString.call(obj[...原创 2019-04-07 10:47:23 · 1035 阅读 · 0 评论 -
web开发
用户登录模块: 浏览器输入网址; 服务器端:先判断请求中是否存在session.user; 如果存在:服务器端渲染,将用户名一并渲染在页面,并在响应中添加cookies的'login=1'; 如果不存在:在响应中添加cookies的'login=0'; 浏览器端js解析document.cookie,拿到login的值,为1则隐藏登录模块,为0则显示登录模块。 ...原创 2019-04-09 16:51:22 · 125 阅读 · 0 评论 -
浏览器缓存机制
强制缓存:Cache-Control 用户首次请求服务器,如果服务器端设置了响应头Cache-Control,如: ctx.set("Cache-Control","max-age=60*60*24"); //表示让浏览器缓存本次请求的静态文件,24小时内有效 下次再请求这个静态文件时,不必请求服务器,直接从浏览器的缓存中获取该静态文件。 对比缓存:Etag/If-None-Mat...原创 2019-04-09 19:07:14 · 166 阅读 · 0 评论