组件是构建现代网页应用的基础。组件化给前端开发带来了极大的效率提升,提高了代码的重用性;组件化的 UI 框架也层出不穷,React, Vue 等等。但是这些框架缺乏标准,代码层面可能存在很大的差异,如何对前端组件标准化就显得尤为重要。
Web Components 作为面向未来的 Web 组件化标准,包括 HTML Templates, Shadow DOM, Custom elements 和 HTML Imports 四部分,浏览器原生支持,所以 Web Components 是最彻底的组件化解决方案。
Shadow DOM
Shadow DOM 是四大网络组件标准之一,提供 CSS 作用域、DOM 封装和组合(Composition) 等优势,构建自定义元素。
Custom Elements
Custom Elements 为开发者提供了创建新 HTML 标记,扩展现有 HTML 标记的能力,创建自定义新的元素,将 JS 逻辑行为和元素 DOM 关联起来,代码模块化,提供重用性。
0.1+0.2=0.30000000000000004❓
JavaScript中所有的数字,无论是整数还是小数,其类型都是 Number,遵循 IEEE 754 程序内部用一个 64 位固定长度的二进制进行存储表示。JavaScript 中的浮点数进行运算时,经常会遇到计算精度问题,例如经典的 0.1+0.2=0.30000000000000004
,本文将探究 JavaScript 的浮点数,并解释为何 0.1+0.2=0.30000000000000004
JavaScript 中何时加分号❓
在阅读 medium 上的文章 JavaScript: async/await with forEach() 时,作者用了如下一个例子来阐述:async/await 和 forEach 之间的问题。但是仔细琢磨这段代码,发现不对劲啊 😤 明显和我之前的认知不同啊。本文将分析一下其中的蹊跷。
关于 async/await 和 forEach,我在 当 async/await 遇上 forEach 文中进行了详细分析,读者若对此不熟悉,请先前往了解 👉
|
|
当 async/await 遇上 forEach
在文章 ES7 中的 async await 中介绍了 async/await。本文将分析介绍当 async/await 遇上 forEach
出现的一些问题和解决方案。
ES7 中的 async await
在 JavaScript 中处理异步操作的回调 (callback) 通常会导致多嵌套的代码块,俗称回调地狱 (callback hell),这样的代码复杂,可读性,可维护性非常不友好;直达 ES6,Promise 出现,使得我们能够扁平化回调函数,告别回调地狱,写出优雅的代码;但是在实践中发现,Promise 并不完美,如果 Promise 的回调中出现嵌套,依旧会出现回调地狱;而如今,async await 出现了,它提供了一种新的编写异步代码方式,使得异步代码看起来像是同步代码,这正式它的魔力所在。
iPhone X 环绕刘海滚动列表
iPhone X 面市后,其异形屏给交互设计提供了更多想象的空间。在 Twitter 上,这位推友就针对刘海设计了列表环绕刘海滚动的效果。
最近在 codepen 上看到已经有人实现了这个 demo:https://codepen.io/davvidbaker/pen/KXgPyG,本文将图文结合分析一下实现这个效果的逻辑。
实现一个字数限制的输入框
在 Twitter 发推输入框中,有一个字数限制的逻辑,超出字数限制部分的文字会设置背景颜色提示,以便用户进行调整。这是一个很好的交互设计,在 Ant Design 中也有提到这一点。
本文将介绍如何实现这一字数限制输入框,效果访问:Codepen
动态文本自适应绘制到指定大小的 Canvas
本文将探究动态文本如何自适应绘制到指定大小的 Canvas 🎏