书架

书架

=一个知识书库=

为什么前端开发者都不用 try finally 了?

为什么前端开发者都不用 try finally 了?

在JavaScript开发过程中,资源管理一直是一个需要认真对待的问题。无论是文件句柄、数据库连接还是其他需要手动释放的资源,开发者都不得不编写繁琐的清理代码。传统的解决方案是使用`try…finally`结构,但这种方式往往导致代码冗长且易于出错。 <!--more--> ## 资源管理的传统困境 在传统JavaScript编程中,处理需要显式释放的资源通常是这样的: ```javascript let connection; try { connection = await database.connect(); // 使用连接执行操作 c
more...
前端服务端渲染和客户端渲染

前端服务端渲染和客户端渲染

# 从15个点来思考前端大量数据渲染与频繁更新的方案 先来总结一下处理方法有哪些: 1. 惰性加载(懒加载) 2. DOM操作合并处理 3. 虚拟列表 4. 分批数据加载 5. 简化DOM结构 6. 优化资源 7. Web Workers 8. 用户操作优化 9. 差异更新 10. 服务端渲染 11. 动画优化 12. 逐帧渲染 13. 异步更新 14. WebAssembly 15. GPU加速 <!--more--> ## 惰性加载 ### 介绍 > "惰性加载"(Lazy Loading),也称为懒加载,是一种优化网页或应用
more...
8 个很棒的 Vue 开发技巧

8 个很棒的 Vue 开发技巧

## 路由参数解耦 通常在组件中使用路由参数,大多数人会做以下事情。 ```javascript export default { methods: { getParamsId() { return this.$route.params.id } } } ``` 在组件中使用 $route 会导致与其相应路由的高度耦合,通过将其限制为某些 URL 来限制组件的灵活性。正确的做法是通过 props 来解耦。 ```javascript const router = new VueRo
more...
25个JavaScript代码技巧

25个JavaScript代码技巧

> 学习强大的JavaScript一行代码,能够节省你的时间和代码量。 <!--more--> ## 1. 将内容复制到剪贴板 为了提高网站的用户体验,我们经常需要将内容复制到剪贴板,以便用户可以将其粘贴到指定位置。 ```javascript const copyToClipboard = (content) => navigator.clipboard.writeText(content) copyToClipboard("Hello fatfish") ``` ## 2. 获取鼠标选中内容 你以前遇到过这种情况吗?我们需要获取用户选择的内容。
more...
可视化大屏适配

可视化大屏适配

## 1、全局样式 `_variables.scss` <!--more--> ```scss // 颜色 $colors: ( "primary": #1A5CD7, "info-1": #4394e4, "info": #4b67af, "white": #ffffff, "light": #f9f9f9, "grey-1": #999999, "grey": #666666, "dark-1": #5f5f5f, "dark": #222222, "black-1": #171823, "black": #000000,
more...