如何设计一个 JavaScript 插件系统
不管是 jQuery、 Vue 还是 React,它们都支持插件。插件是库和框架中很常见的功能,插件能够使你的项目具有更高的价值,而且也不会增加太多额外的维护负担。本文详细介绍了使用 JavaScript 构建插件系统的方法和流程,以及相关注意事项。
不管是 jQuery、 Vue 还是 React,它们都支持插件。插件是库和框架中很常见的功能,插件能够使你的项目具有更高的价值,而且也不会增加太多额外的维护负担。本文详细介绍了使用 JavaScript 构建插件系统的方法和流程,以及相关注意事项。
SVG 元素的 viewBox
属性允许指定一个给定的一组图形伸展以适应特定的容器元素。它包含4个参数的列表 min-x
, min-y
, width
和 height
,以空格或者逗号分隔开。
2015 年 HTTP/2 标准发表后,大多数主流浏览器也于当年年底支持该标准。此后,凭借着多路复用、头部压缩、服务器推送等优势,HTTP/2 得到了越来越多开发者的青睐,不知不觉的 HTTP 已经发展到了第三代。本文基于腾讯内部接入 HTTP/3 的实践,聊一聊 HTTP/3 的原理以及业务接入的方式。
vue 单文件模板中一般含有三个部分,template,script 和 style。但是在编译后的 js 文件中,我们却没法在代码中直接找到这三部分,这是因为 vue 并非直接使用 template 进行渲染,而是需要把 template 编译成渲染函数,才能渲染。
在浏览器端或服务端, JSON.stringify()
都是我们很常用的方法,在一些性能敏感的场合下(例如服务端处理大量并发),或面对大量 stringify 的操作时,我们会希望 JSON.stringify()
的性能更好,速度更快。这也催生了一些优化的 stringify 方案/库。那么,在大幅的性能提升背后的技术原理是什么呢?
和一维码相比,二维码的信息承载量更大,能表达的信息更加多样化。比如,同样是识别商品,一维码只能展示出商品的名称、价格、产地等少量基础信息,二维码则可以展示出更详尽的信息,甚至扫码后还能获得图片、视频、音频等不同类型的信息。