
你知道如何“严谨地”判断两个变量相同么?仅仅使用 === 就可以了么?

今年好像特别流行实现 Promise/A+ 规范 😓 ,已经看到无数篇实现的文章了,那我也来凑个“晚热闹”吧,用 TypeScript 也来实现一个符合 Promise/A+ 规范的库。

学习一个东西最好的办法就是重新创造一遍,React 也不例外。这个仓库里是我写的一个类 React 库,支持 JSX / 生命周期 / Ref / Context API 等一些常用特性,同时包含了 Stack 与 Fiber 两种 Reconciler。当然,其中有很多简化,很多低性能的地方,甚至会有 Bug。但是作为学习资料,还是具有一定价值的。

在一些性能敏感的场合下(例如服务端处理大量并发),或面对大量 stringify 的操作时,我们会希望它的性能更好,速度更快。这也催生了一些优化的 stringify 方案/库,那么,在他们大幅的性能提升背后的技术原理是什么呢?

在我们的印象里,实现一个简单的聊天应用(消息发送与多页面同步)并不困难 —— 这是在我们有 JavaScript 的帮助下。而如果让你只能使用 CSS,不能有前端的 JavaScript 代码,那你能够实现么?

今天带大家一起来看看下,如何实现“划词高亮”功能。
笔者前段时间为线上业务实现了一个与内容结构非耦合的文本高亮在线笔记功能。非耦合是指不需要为高亮功能建立特殊的页面 DOM 结构,而高亮功能对业务近乎透明。该功能核心部分具有较强的通用性与移植性,故拿出来和大家分享交流一下。

在浏览器中,我们可以同时打开多个 Tab 页,每个 Tab 页可以粗略理解为一个“独立”的运行环境,即使是全局对象也不会在多个 Tab 间共享。然而有些时候,我们希望能在这些“独立”的 Tab 页面之间同步页面的数据、信息或状态。这就是我们所说的前端跨页面通信。
Update your browser to view this website correctly. Update my browser now