会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
要好好生活啊
博客园
首页
新随笔
联系
订阅
管理
2019年8月26日
微信扫码登录是如何实现的 - 简单描述
摘要: 浏览器获得一个唯一的、临时的uid,通过长连接等待客户端扫描带有此uid的二维码后,从长连接中获取客户端上报给服务器的账号信息进行展示,并在客户端点击确定后,获得服务器授信的令牌,进行随后的信息交互过程。在超时、网络断开、其他设备登录后,此前获得的令牌或丢失、或失效,对授权过程形成有效的安全防护。
阅读全文
posted @ 2019-08-26 15:32 要好好生活啊
阅读(231)
评论(0)
推荐(0)
2019年8月13日
数组去重
摘要: 1、Set去重 var arr = [1,2,2,4,3,4,1,3,2,7,5,6,1] var newArr = new Set(arr); // { 0:1, 1:2, 2:4, 3:3, 4:7, 5:5, 6:6 } 2、indexOf function fn( arr ){ let ne
阅读全文
posted @ 2019-08-13 17:32 要好好生活啊
阅读(136)
评论(0)
推荐(0)
DOM事件类
摘要: 1、DOM级别和DOM事件级别 DOM级别:DOM0级、DOM1级、DOM2级、DOM3级 DOM事件级别:DOM0级事件处理、DOM2级事件处理、DOM3级事件处理 1) DOM0级事件 <botton type="button" onclick="showFn()"></button> func
阅读全文
posted @ 2019-08-13 14:56 要好好生活啊
阅读(178)
评论(0)
推荐(0)
2019年8月12日
作用域和闭包
摘要: 作用域:规定变量在什么地方可以用,在什么地方不能用。 // 全局作用域 function a1(){ // a1 作用域 function a2(){ // a2 作用域 } } 闭包:一个具有封闭的对外不公开的包裹结构或者空间 为什么函数可以构成闭包? 闭包是一个具有封闭与包裹功能的结构,是为了实
阅读全文
posted @ 2019-08-12 15:39 要好好生活啊
阅读(193)
评论(0)
推荐(0)
同源和跨域
摘要: 什么是同源策略? 限制从一个源加载的文档或者脚本如何与来自另一个源的资源进行交互。 一个源指的是主机名、协议和端口号的组合,必须相同 跨域通信的几种方式: 1、JSONP 2、Hash 3、postMessage 4、WebSocket 5、CORS JSONP原理 基本原理:利用script标签的
阅读全文
posted @ 2019-08-12 14:59 要好好生活啊
阅读(126)
评论(0)
推荐(0)
script标签的defer、async的区别
摘要: defer是在HTML解析完成之后才会执行,如果是多个,按照加载的顺序依次执行。 async是在加载完成后立即执行,如果是多个,执行顺序和加载顺序无关。
阅读全文
posted @ 2019-08-12 14:54 要好好生活啊
阅读(161)
评论(0)
推荐(0)
前端路由的原理
摘要: 什么是路由:根据不同的url地址展示不同的内容或页面。 使用场景:更多的应用在单页面上。 两种实现前端路由的方式: 1、HTML5 History两个新增的API: history.pushStute、history.replaceState 两个API都会操作浏览器的历史记录,而不会引起页面的刷新
阅读全文
posted @ 2019-08-12 14:50 要好好生活啊
阅读(238)
评论(0)
推荐(0)
你做过哪些性能的优化
摘要: 1、减少HTTP请求 1) HTML优化: 使用语义化标签 减少iframe 避免重定向 2) CSS优化: 布局代码写前面 删除空样式 不滥用浮动、字体,需要加载的网络字体根据需求添加 选择器性能优化 避免使用表达式 避免用id写样式 压缩代码 3) JS优化 压缩代码 减少重复代码 4) 图片优
阅读全文
posted @ 2019-08-12 14:36 要好好生活啊
阅读(559)
评论(0)
推荐(0)
当new Foo()时发生了什么
摘要: 1、创建了一个新对象 2、将新创建的空对象的隐式原型指向其构造函数的显示原型 3、将this指向这个新对象 4、如果无返回值或者返回一个非对象值,则将新对象返回; 如果返回值是一个新对象的话,那么直接返回该对象。
阅读全文
posted @ 2019-08-12 11:44 要好好生活啊
阅读(323)
评论(0)
推荐(0)
JS实现继承的几种方式
摘要: 1、借用构造函数实现继承 function P1(){ this.name = "P1"; } function C1(){ P1.call(this); this.type = "C1"; } 缺点:C1无法继承P1的原型对象,只是部分继承 2、借用原型链实现继承 function P2(){ t
阅读全文
posted @ 2019-08-12 11:40 要好好生活啊
阅读(148)
评论(0)
推荐(0)
下一页
公告