摘要:
1、何为观察者模式? 观察者模式,又可以称之为发布-订阅模式,观察者,顾名思义,就是一个监听者,类似监听器的存在,一旦被观察/监听的目标发生的情况,就会被监听者发现,这么想来目标发生情况到观察者知道情况,其实是由目标将情况发送到观察者的。 观察者模式多用于实现订阅功能的场景,例如微博的订阅,当我们订 阅读全文
摘要:
首先,我们先来看看 👀 雅虎军规 的 35 条。 尽量减少 HTTP 请求个数——须权衡 使用 CDN(内容分发网络) 为文件头指定 Expires 或 Cache-Control ,使内容具有缓存性。 避免空的 src 和 href 使用 gzip 压缩内容 把 CSS 放到顶部 把 JS 放到 阅读全文
摘要:
Gulp和Webpack对比 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始逐渐渗透到“大前端”的开发中。前端开发过程越来越繁琐,当今越来越多的网站已经从网页模式进化到了 Webapp 模式。它们运行在现代的高级浏览器里,使用 HTML5 阅读全文
摘要:
我们知道react的jsx语法最终会被babel转译成 React.createElement语法,通过这个语法,react节点就会被编译成一棵vdom树结构,我们看一个例子 let ele1 = <h1 id="title"> <span>hello</span> <span>world</spa 阅读全文
摘要:
直接粘代码,如果发现Jquery引入出错了,更新一下Jquery CDN链接。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin:0; pa 阅读全文
摘要:
1、思路: 因为offsetTop、scrollTop等不属于css属性,所以这些无法用css动画或过度来实现。首先想到的是使用position + top 定位结合 transition 来实现。 2、效果: 3、原生代码: <!DOCTYPE html> <html lang="zh"> <he 阅读全文
摘要:
一、先说一下react react是基于数据是不可变的(每次setState都会返回一个新数据),这也是为什么需要setState()来更新数据而不能使用像vue的this.state = newState的形式更新数据的原因,其实你用this.state=newState确实可以改数据,但是rea 阅读全文
摘要:
概念: 为什么是16.67毫秒: 这个根据浏览器刷新帧率来定,大多数浏览器的刷新帧率是60Hz,所以1/60 = 0.0166666... (秒)= 16.67(毫秒) 如果一个任务耗时很长,那么时间用完后会中断该任务吗? 不会中断该任务,一直到执行完毕为止,所以如果单个任务耗时很长,那么也会造成卡 阅读全文
摘要:
offsetWidth:返回元素的宽度(包括元素宽度、内边距和边框,不包括外边距) offsetHeight :返回元素的高度(包括元素高度、内边距和边框,不包括外边距) clientWidth :返回元素的宽度(包括元素宽度、内边距,不包括边框和外边距) clientHeight:返回元素的高度( 阅读全文
摘要:
利用seTimeout实现的动画在某些低端机上会出现卡顿、抖动的现象。 这种现象的产生有两个原因: setTimeout的执行时间并不是确定的。在Javascript中, setTimeout 任务被放进了异步队列中,只有当主线程上的任务执行完以后,才会去检查该队列里的任务是否需要开始执行,因此 s 阅读全文