标签:javascript
在 JavaScript 中,访问数组的最后一个元素并不像在其他语言中那样直接。例如,在 Python 中,您可以使用负索引来访问数组的最后一个元素。然而,在 JavaScript 中,使用带有方括号 [] 的负索引是行不通的。相反,您必须使用数组长度减一的索引来访问最后一个元素...
在2023年初,我发布了一个名为Placemark的Figma插件,它可以让你在Figma中创建矢量地图,这是一款图形设计工具。从那时起,我一直在闲暇时维护着该插件,并且推出了另一个插件,Placemark Globe。 它们在某种程度上取得了一定的成功!根据Figma社区网站的...
我已经使用React很长时间了,所以当有人说“嘿,你应该尝试一种不同的前端框架”时,我的回答总是“哼,但我已经如此高效了=P”。然而,Vue已经有了足够多的酷炫发展,让我想要尝试一下。结果我愉快地惊讶了!Vue有一堆很棒的功能,让我作为React开发者感到羡慕。让我们深入探讨一些...
MoonBit 为 JS 后端添加支持,速度比原生 JS 最快可达 25 倍
当 MoonBit 在 2023 年 8 月正式推出 时,我们的关键任务是释放 WebAssembly 在云和边缘计算中的潜力,作为一种以 Wasm 为先的编程语言和工具链。通过整合 Rust 和 Go 的精髓,MoonBit 不仅在设计上实现了简单易用,而且还配备了强大的容错...
我一直知道有 scripting CSS 媒体特性,但我仍然以为它的跨浏览器支持不足。根据 caniuse.com 的信息,发现截至2023年12月,所有现代浏览器都已支持这一特性,这真是一个令人愉快的惊喜。有了这个特性,我们可以根据用户浏览器中是否可用 JavaScript 来...
终于理解了 Array.sort(comparator) 的工作原理
在经历了13年的JavaScript编程之后,我终于找到了一种方法来记住 Array.sort() 中比较函数的工作原理。 我认为问题在于所有的示例都使用了这种简写语法。 array.sort((a, b) => b - a); // 对James来说太难了 这对我来说太令人困...
创建和发布开源包是为生态系统和社区做贡献的好方法。你做了一个很酷的东西,并希望人们使用它。但仅仅将模块发布到注册表并祈祷用户会使用是不够的。帮助用户成功使用您的包不仅需要编写简明、描述性的文档,还需要确保用户能够在他们的工作流中访问文档(例如在 VSCode 中),以节省他们...
利用 Chrome DevTools 全面分析 JavaScript 性能
让我们看看如何通过 Chrome DevTools 的 Performance(性能)标签来有效地分析并改进 JavaScript 的性能,同时避免常见错误。我们的用例是提高一个现实世界中 canvas 库的渲染 FPS(每秒帧数)。 几周前,我的一位同事和我在 benc...
在这篇文章中,我将详细介绍一个完整的虚拟DOM实现,代码量略超过200行JavaScript。 结果是一个功能完备且性能足够的虚拟DOM库(演示)。它作为smvc包在NPM上可用。 主要目标是阐述像React这样的工具背后的基本技术。 React、Vue和Elm语言都通过允许你...
注意:这是几年前我写的文章系列的更新版本,但内容仍然非常相关。 构建组件库是一次充满挑战和回报的经历,但不仅仅是编写外观出色的组件那么简单。在旅程的每一步,您都需要做出选择,以确保您的库适合其预期受众。 在构建您的库时,您需要考虑以下困境: 我应该编写纯Web组件还是使...