bug 制造机
分享一种使用对话框的实践方式:利用全局状态来管理对话框。解决上文提到的在使用对话框遇到的问题。其核心思路在于从 UI 模式的角度出发,把对话框也可当做一个单独的页面,对话框的展示可用全局状态来管理,因此,用全局的方式去管理对话框就是一种非常合理的方式。从而让组件的语义更加清楚,代码更容易理解和维护。
在上面的代码中,一个 Fn 函数有两种命运,普通函数执行,new 构造函数执行。那这两种执行方法有什么区别了? 简单来理解,普通函数执行,是把 Fn 函数执行的结果返回给 f1。构造函数执行,把 Fn 当做一个类,是把创造的一个实例返回,f2 是创造出来的一个实例。本文将从执行流程中为大家分享这两类函数的区分。
本文主要讲this 的几种基本情况
本文主要讲代码中隐含的基础知识
本文主要讲高阶函数之柯里化、组合函数、惰性思想
本文主要讲闭包
本文主要讲预处理机制,变量提升
本文主要讲函数的底层执行机制
在前端来说,JS 代码可运行的环境包括「浏览器环境」、「App 环境(基于 webview)」、「Node 环境」等,但是无论是什么环境下执行 JS 代码,都需要开辟出相关的内存,用来存储值「Heap 堆存储」以及运行代码「Stack 栈内存 -> ECStack 执行环境栈-> Execution Context Stack 执行环境栈」。
本篇文章就是对前端跨页面通信的解决方案做了一个了解。
本文主要讲JS 中的9大数据类型和数据类型转换
在全局上下文中,严格默认 this 为 undefined,非严格模式下,this 为 window。块级作用域的 this 是继承所在上下文中的 this 。在函数的私有上下文中,this 情况多种多样。
在之前的一篇文章【React setState 异步真的只是为了性能吗?】中为大家简述了 React setState 异步的一些更较深层次原因,保持一致性和为以后需的架构升级启动并发更新。文章发出之后,也收到了一位学长的思考,原话是“ 除了这个还可以思考什么是 Web,从最初的顶层设计就不可能是同步的,之后的 Fiber 也是要解决 idle 的问题,最后完成资源的完美调度”。这一句话也给出了更深次的见解,在这里感恩,后续会从这些角度深层次的挖掘。昨天聊完 React setState 异步的原因,今天我们来聊聊 React setState 同步异步的魅力。
这篇文章并不是一个技术文章,纯属就是一个 API 的汇总,为了让自己了解多一点 IndexedDB,也方便自己后面写的时候查阅 API,如果你觉得没有意思就可以关闭这篇文章了。当然你也可以点赞收藏方便后续有需要在翻出来看看。
在 React 中性能问题有两类,长列表和重复渲染。长列表指的是你的页面渲染了很长的列表,通常有上百、上千甚至几千行数据。长列表本身不是 React 框架特有的问题,无论是什么技术栈,都可能遇到。它的通用解决方案是采用虚拟滚动,业界做得比较好的解决方案有 react-virtualized 和 react-window,已经非常成熟了。 那对于重复渲染有没有好的解决方案了,今天我们就一起来看看吧。
正好最近封装了一些底层的基础库,就包括了对着两兄弟的封装。发现一些比较好玩的东西。小编也是有一些新的体会和想法,分享给大家。
通过一个简单的业务场景,探究 React 合成事件的底层原理。
Promaise 大家再熟悉不过了,Promise 是异步编程的一种解决方案,比传统的解决方案,回调函数和事件更合理和更强大。Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。
本文主要讲VsCode 提升研发效率之代码片段
本文你将了解: • js 的内存分配 • 垃圾回收机制 • 垃圾回收策略 • V8 的内存管理 • V8 的回收策略
本文你将收获: • 混入(mixin) 的时机。 • 混入(mixin) 对于不同情况的策略: • 函数叠加混入(data、provide) • 数组叠加混入(hook、watch) • 原型链叠加混入(components,filters,directives) • 对象覆盖混入(props,methods,computed,inject ) • 替换覆盖混入(el,template,propData)
先说闭包是什么,在说函数的创建和执行看闭包(引述:堆栈、EC、AO、VO、scope),然后说闭包的作用以及在项目中的引用场景,以及带来的问题,最后说闭包引发的高级编程技巧,在框架源码中的使用,或者自己写类库的怎么使用
nextTick 本质就是执行延迟回调的钩子,接受一个回调函数作为参数,在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。Vue 2.1.0 开始,如果没有提供回调函数,且在支持 Promise 的环境中,则返回一个 Promise 。注意 Vue 本身是不自带 polyfill 的,如果环境不支持 Promise ,则需要自己提供 polyfill。
RegExp不论是前端还是后端的开发同学都是会使用到。一个好的RegExp能帮你在日常的开发中,提升开发效率。在某些厂的面试中,可能也会遇到关于RegExp的相关问题。今天小编就不完全指北。
通过这篇文章你将了解到: • Vue scoped 是什么? • Vue scoped 作用? • Vue scoped 原理? • 渲染的 HTML 标签上的 data-v-xxx 属性是如何生成的? • CSS 代码中的添加的属性选择器是如何实现的?
这篇文章你将了解 Vue 3.0 性能优化的三个方法: • 源码体积优化 • 数据劫持优化 • 编译优化
前两天在开发项目的公共基础库时,无意间在看 moment.js 源代码的时候发现这样一个 util 函数。这个函数作用无非就是判断输入否是 undefined ,这个不是关键,关键是 void 这个引起了我的注意,这里为什么不直接使用 input === undefined ?而是使用这种形式来判断了。带着疑问我们今天就一起来看看 JavaScript void 运算符。
本文主要讲var、let、const的区别
Node 中采用了 CommonJs 规范,通过 module.exports 和 require 来导出导入模块。在模块加载机制中,Node 采用延迟加载的策略,只有到使用到时,才会去加载,加载之后会被存入 cache 中。
Kraken 是一款基于 W3C 标准的高性能渲染引擎。Kraken 底层基于 Flutter 进行渲染,通过其自绘渲染的特性,保证多端一致性。上层基于 W3C 标准实现,拥有非常庞大的前端开发者生态。
本文主要讲如何避免React生命周期的那些坑坑洼洼
我们在 React 使用 setState时知道,它并不总是异步更新,也可能是同步更新,大家也知道setState使用异步是为累积更新、批量处理、减少调用次数来提升性能,但是大家有没有想过setState的异步更新真的单单是为了性能吗?
React 对 CSS 封装非常简单,就是沿用了 DOM 的 style 属性对象。用JS来写CSS,这就是Css in Js,他是Js脚本的一部分。eact 对 CSS 封装非常简单,就是沿用了 DOM 的 style 属性对象。用JS来写CSS,这就是Css in Js,他是Js脚本的一部分。
前一篇文章ReactDOM.render串联渲染链路(一),我们梳理了渲染链路的初始化阶段和render阶段的前半段,这篇文章我们来看看render阶段的后半段和commit阶段。
本文主要讲事件循环机制
本文主要讲ReactDOM.render串联渲染链路
前段时间 React 团队发布了一项用于解决 React 页面在多接口请求下的性能问题的解决方案 React Server Components。当然该方案目前还在草案阶段,官方也只是发了视频和一个示例 demo 来说明这个草案。 React Server Component是一种编写React组件的方法,该组件在服务器端呈现,目的是提高React应用程序的性能。
本文主要讲同步的 ReactDOM.render,异步的 ReactDOM.createRoot
本文主要讲Chrome浏览器版本升级带来的跨域访问问题
本文主要讲webpack优化实践
本文主要讲Vue源码中9个可借鉴的基础方法
本文主要讲JS操作小技巧
本文主要讲前端10大排序算法
在接下来的几篇文章中,我会更新一些自己遇到的或者刷到的基础面试题分享给大家。
昨天在看一道笔试题的时候本以为很简单,但是结果不是我想象的那样,直接上笔试题。
这篇文章你会了解到什么 • OSI七层协议和TCP/IP四层协议模型 • 什么是UDP协议 • 什么是TCP协议 • TCP连接过程 • TCP两次握手就可以完成,为撒需要三次了? • TCP断开连接过程 • 为什么 A 要进入 TIME-WAIT 状态,等待 2MSL 时间后才进入 CLOSED 状态? • ARQ协议(超时重传机制):停止等待ARQ协议、连续ARQ协议 • 滑动窗口协议 • 拥塞处理过程 • 拥塞算法
本文主要讲Vue Router中被忽略的知识点
本文主要讲HTML Email的编写
9021年底了,突然想在这个最后一个月准备一下,试试机会,能否更进一步。所以开始准备一些基础知识,也随带总结出来给各位想换工作的同学。希望大家能找到自己想要的工作。祝大家好运!
Notification是HTML5新增的API,用于想用户配置和现实桌面通知。这些通知的外观和特定功能因平台而异。 Notification通知是脱离浏览器的,即使用户没有停留在当前的标签页,甚至最小化了浏览器,也会在主屏幕的右下角显示通知,然后过一段时间后消失。 Notification在操作中也可以监听通知的显示,点击,关闭等事件。