11 2019 档案
摘要:!important(权重最大)1000>内嵌样式(style="")>内部样式>外联样式>@import url("url");
阅读全文
摘要:*通用选择器,ID选择器 ,.类选择器class,标签选择器,标签组合选择器,伪类选择器:,+相邻元素选择器,>子元素选择器,~同辈选择器,x[title]属性选择器[type="button"],x[href^="http"]匹配以href值为http打头的地址,x[href$=".jpg"]匹配
阅读全文
摘要:盒子模型分为ie盒子模型和w3c盒子模型, ie的盒子模型包括(margin(外边距),padding(内边距),边框(border),内容(content) (ie的width=content+padding+borde) );w3c的盒子模型包括(margin(外边距),padding(内边距)
阅读全文
摘要:a. 尽量减少页面中重复的HTTP请求数量 b. 服务器开启gzip压缩 c. css样式的定义放置在文件头部 d. Javascript脚本放在文件末尾 e. 压缩合并Javascript、CSS代码 f. 使用多域名负载网页内的多个文件、图片
阅读全文
摘要:a. 一个程序至少有一个进程,一个进程至少有一个线程 b. 线程的划分尺度小于进程,使得多线程程序的并发性高 c. 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率 d. 每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须
阅读全文
摘要:BFC全称是Block Formatting Context,即块格式化上下文。它是CSS2.1规范定义的,关于CSS渲染定位的一个概念。 BFC是页面CSS 视觉渲染的一部分,用于决定块盒子的布局及浮动相互影响范围的一个区域。 BFC的一个最重要的效果是,让处于BFC内部的元素与外部的元素相互隔离
阅读全文
摘要:a. Cookie的大小是受限的 b. 每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽 c. cookie还需要指定作用域,不可以跨域调用 d. Web Storage拥有setItem,getItem等方法,cookie需要前端开发者自己封装setCookie,get
阅读全文
摘要:在HTML5中提供了sessionStorage和localStorage。 sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁,是会话级别的存储。 localStorage用于持久化的本地存储,除非主动
阅读全文
摘要:a. 每个特定的域名下最多生成的cookie个数有限制 b. IE和Opera 会清理近期最少使用的cookie,Firefox会随机清理cookie c. cookie的最大大约为4096字节,为了兼容性,一般不能超过4095字节 d. 安全性问题。如果cookie被人拦截了,那人就可以取得所有的
阅读全文
摘要:IE6盒子模型与W3C盒子模型。 文档中的每个元素被描绘为矩形盒子。盒子有四个边界:外边距边界margin, 边框边界border, 内边距边界padding与内容边界content。 CSS3中有个box-sizing属性可以控制盒子的计算方式, content-box:padding和borde
阅读全文
摘要:早期前端都是比较简单,基本以页面为工作单元,内容以浏览型为主,也偶尔有简单的表单操作,基本不太需要框架。 随着 AJAX 的出现,Web2.0的兴起,人们可以在页面上可以做比较复杂的事情了,然后前端框架才真正出现了。 如果是页面型产品,多数确实不太需要它,因为页面中的 JavaScript代码,处理
阅读全文
摘要:a. 请求数量:合并脚本和样式表,CSS Sprites,拆分初始化负载,划分主域 b. 请求带宽:开启GZip,精简JavaScript,移除重复脚本,图像优化,将icon做成字体 c. 缓存利用:使用CDN,使用外部JavaScript和CSS,添加Expires头,减少DNS查找,配置ETag
阅读全文
摘要:a. 域名解析 b. 发起TCP的3次握手 c. 建立TCP连接后发起http请求 d. 服务器端响应http请求,浏览器得到html代码 e. 浏览器解析html代码,并请求html代码中的资源 f. 浏览器对页面进行渲染呈现给用户
阅读全文
摘要:发布-订阅模式: 发布-订阅模式又叫做观察者模式,定义了对象之间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖与它的对象都将得到通知. 发布-订阅模式广泛应用于异步编程之中,是一种替代回调函数的方案.多个事件处理函数可以订阅同一个事件,当该事件发生后,与其相对应的多个事件处理函数都会运行 取
阅读全文
摘要:模块模式: 在立即执行函数表达式中定义的变量和方法在外界是访问不到的,只能通过其向外部提供的接口,"有限制"地访问.通过函数作用域解决了属性和方法的封装问题. .
阅读全文
摘要:1、git冲突的场景 情景一:多个分支代码合并到一个分支时; 情景二:多个分支向同一个远端分支推送代码时; 实际上,push操作即是将本地代码merge到远端库分支上。 关于push和pull其实就分别是用本地分支合并到远程分支 和 将远程分支合并到本地分支 所以这两个过程中也可能存在冲突。 git
阅读全文
摘要:1.查看 commit id 2.git reset --hard "dfdfdfdf" // commit id 3.git push -f -u origin 2.1.0 // 分支 注:远程版本已经回退,但是本地代码 git pull 以后还是回退之前的代码,怎么处理? 将本地分支强制同步到远
阅读全文
摘要:其实自定义Hooks函数和用Hooks创建组件很相似,跟我们平时用JavaScript写函数几乎一模一样,可能就是多了些React Hooks的特性,自定义Hooks函数偏向于功能,而组件偏向于界面和业务逻辑。由于差别不大,所以使用起来也是很随意的。如果是小型项目是可以的,但是如果项目足够复杂,这会
阅读全文
摘要:useRef在工作中虽然用的不多,但是也不能缺少。它有两个主要的作用: 用useRef获取React JSX中的DOM元素,获取后你就可以控制DOM的任何东西了。但是一般不建议这样来作,React界面的变化可以通过状态来控制。 用useRef来保存变量,这个在工作中也很少能用到,我们有了useCon
阅读全文
摘要:useMemo主要用来解决使用React hooks产生的无用渲染的性能问题。使用function的形式来声明组件,失去了shouldCompnentUpdate(在组件更新之前)这个生命周期,也就是说我们没有办法通过组件更新前条件来决定组件是否更新。而且在函数组件中,也不再区分mount和upda
阅读全文