全部文章

1299 篇文章

react11-22
阅读

React,优雅的捕获异常

ErrorBoundary EerrorBoundary是16版本出来的,有人问那我的15版本呢,我不听我不听,反正我用16,当然15有 。 关于ErrorBoundary官网介绍比较详细,这个不是重点,重点是他能捕捉哪些异常。 子组件的渲染 生命周期函数 构造函数 开源世界就是好,早有大神封装了 这种优秀的库。 你只需要关心出现错误后需要关心什么,还以来个 , 完美。 遗憾的是,error boundaries并不会捕捉这些错误: 事...

react11-22
阅读

三大原则 · Redux

三大原则 Redux 可以用这三个基本原则来描述: 单一数据源 整个应用的 被储存在一棵 object tree 中,并且这个 object tree 只存在于唯一一个 中。 这让同构应用开发变得非常容易。来自服务端的 state 可以在无需编写更多代码的情况下被序列化并注入到客户端中。由于是单一的 state tree ,调试也变得非常容易。在开发中,你可以把应用的 state 保存在本地,从而加快开发速度。此外,受益于单一的 sta...

css11-22
阅读

什么是BFC ?如何创建 BFC ?BFC 有什么用

一、什么是BFC (Block Formatting Context): BFC(块级格式化上下文)是指浏览器中创建了一个独立的渲染区域,该区域内所有元素的布局不会影响到区域外元素的布局,这个渲染区域指对块级元素起作用。 BFC可以让元素成为隔离独立的容器,且容器内的子元素不会影响到外面的布局。 二、BFC 有什么用: 1)防止外边距重叠 BFC导致的属于同一个BFC中的子元素的margin重叠。(Box垂直方向的距离由margin决定...

#面试
javascript11-22
阅读

从如何使用到如何实现一个Promise

promise是什么?主要用来解决什么问题? Promise是异步编程的一种解决方案,比传统解决方案–回调函数和事件–更合理更强大。 特点: (1)对象的状态不受外界影响。 对象代表一个异步操作,有三种状态: (进行中), (已成功)和 (已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其它操作都无法改变这个状态。这也是 (承诺)这个名字的由来。 (2)一旦状态改变,就不会再变,任何时候都可以得到这个结果。 对象的状态改变,...

javascript11-22
阅读

你知道的前端性能优化手段有哪些

个人认为,所谓的前端优化,核心都是在围绕两个点,如何让静态资源(HTML\\CSS\\JS\\图片\\音视频等)更快的发送到浏览器,如何让浏览器更快的渲染这些元素 让浏览器更快的下载资源 合理利用缓存 本地数据缓存:cookie、localStorage 内存缓存:浏览器内存缓存、代码中常用数据可以放到内存中 Cache API :PWA、ServiceWorker HTTP 缓存:强缓存、协商缓存 Push Cache :HTTP2....

html11-22
阅读

前端性能优化-白屏时间

一、白屏时间 白屏时间:即用户点击一个链接或打开浏览器输入URL地址后,从屏幕空白到显示第一个画面的时间。 二、白屏时间的重要性 当用户点开一个链接或者是直接在浏览器中输入URL开始进行访问时,就开始等待页面的展示。页面渲染的时间越短,用户等待的时间就越短,用户感知到页面的速度就越快。这样可以极大的 提升用户的体验,减少用户的跳出,提升页面的留存率。 三、白屏的过程 从输入url,到页面的画面展示的过程 1、首先,在浏览器地址栏中输入u...

#面试
http-网络11-22
阅读

浏览器的缓存策略

缓存可以说是性能优化中简单高效的一种优化方式了。 一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。 对于一个数据请求来说,可以分为 网络请求、后端处理、浏览器响应 三个步骤。 可以帮助我们在第一和第三步骤中优化性能。 <a id="t0" </a 怎么实现缓存呢,缓存在哪? service worker 是 运行在浏览器背后的独立线程 ,一般可以用来实现缓存功能。传输协...

javascript11-22
阅读

说下事件模型

说下事件模型 1\. 什么是事件和事件流 javascript 是事件驱动型语言。当用户在网页中进行某种操作时,就产生了一个“事件”(Event)。当事件发生时,JavaScript 可以对之做出响应,具体如何响应某个事件由编写的事件处理函数完成。 事件流描述的就是从页面中接收事件的顺序,早期 IE 和 Netscape 提出了完全相反的事件流概念,IE 事件流是 ,而Netscape的事件流就是事件捕获。 2\. 冒泡和捕获的区别,触...

javascript11-22
阅读

闭包的实现原理和作用、以及内存泄露

一、闭包的实现原理和作用,可以列举几个开发中闭包的实际应用 1、 闭包的概念 :指有权访问另一个函数 中的变量的函数,一般情况就是在一个函数中包含另一个函数。 2、 闭包的作用 :访问函数内部变量、保持函数在环境中一直存在,不会被 机制处理 因为函数内部声明 的变量是局部的,只能在函数内部访问到,但是函数外部的变量是对函数内部可见的,这就是作用域链的特点了。 子级可以向父级查找变量,逐级查找,找到为止 因此我们可以在函数内部再创建一个函...