JavaScript 已经长久以来并且目前依然是浏览器运行时的主流开发语言,然而近年来,WebAssembly 的诞生为我们提供了一个全新的选择。这就引出了一个值得我们探索的问题:在浏览器运行环境中,哪个语言的性能更优越,JavaScript 还是 WebAssembly?笔者最近在工作中正好面临了这样的选择,我需要在浏览器运行时动态插入一些策略,用于在用户 ......
26
0
0
2024-05-05
作者 | Nefe Emadamerho译者 | 许学文策划 | 丁晓昀希腊哲学家赫拉克利特认为,变化是生命中唯一不变的东西。这句话适用于我们的个人生活、行业和职业领域。尤其是前端开发领域,新技术、开发趋势、库和框架不断涌现,变化并不陌生。最近发生的一些事件正在改变开发人员构建网站和 Web 应用的方式,其中包括支持服务器端渲染的 Angular 17 发布 ......
37
0
0
2024-05-03
调试 JavaScript 中的异步代码有时就像在雷区中穿梭。你不知道 console.log 会在何时何地打印出来,也不知道代码是如何执行的。你很难正确构造异步代码,使其按照你的意图以正确的顺序执行。如果在编写异步代码时能得到一些指导,并在即将出错时收到一条有用的信息,那岂不更好?幸运的是,在将错误推向生产环境之前,我们有一些规则来捕捉这些错误。以下是一份 ......
54
0
0
2024-04-25
在chrome插件中,我们通常会看到在插件端登录操作会跳转到第三方独立的web去登录,一旦web登录,返回到插件端,一刷新页面,插件就自动登录了。这是如何实现的呢?本文是插件与web端的单点登录的一篇总结笔记,希望看完在项目中有所帮助。本文主要会从以下几点思考插件的单点登录web端与插件如何通信插件与web端如何信息共享内部插件与content通信机制pos ......
54
0
0
2024-04-24
在看了同事推荐的ts教程后,发现自己还是有很多不会的,所以整理出一些自己学到的新知识点,希望各位也能有所收获!(我就写给自己看看,不要太当回事哈哈哈附上教程链接,看完你就是ts大神!!!写得超级详细,保证有很多你不知道的小细节。 函数如果变量被赋值为一个函数,变量的类型有两种写法。代码语言:javascript复制// 写法一 const hello = ......
52
0
0
2024-04-24
摄影:产品经理赤身盖饭我以前一直使用Vue来写前端。去年下半年接手了一个基于React + Next.js的项目,于是顺带学习了一下Next.js。由于Next.js的特点,这个项目的前后端是放在一起的。一开始没什么问题,看了半天文档就上手了。上周我们需要在另一个网页项目中,调用这个项目的后端接口,于是就需要处理跨域请求的问题。但我发现按照网上的方法,跨域问 ......
53
0
0
2024-04-24
前面我们讲了很多前端应用内部的性能优化,实际上除了前端自身,我们还可结合容纳 Web 页面本身的客户端一起做优化。首先,本文中提到的容器,基本上都是指 Web 页面的宿主,比如浏览器、APP 客户端、小程序,它们提供了 WebView 环境来运行 Web 应用。容器性能优化由于 Web 应用本身只运行在 WebView 中,而 WebView 的能力又依赖于 ......
85
0
0
2024-04-23
缓冲模式和流模式缓冲模式(buffer mode),在这种模式下系统会把某份资源传来的所有数据,都先收集到一个缓冲区里,直到操作完成为止。然后,系统把这些数据当成一个模块回传给调用方。比如 fs.writeFile、fs.readFile 等;流模式(stream mode),在流模式下,系统会把自己从资源端收到的每一块新数据都立刻传给消费方,让后者有机会立 ......
81
0
0
2024-04-23
如果页面中存在耗时较长的计算任务,那么卡顿也是需要关注的一个性能优化点。前面我有给大家整体地讲过《前端性能优化--归纳篇》,其实里面已经囊括了大多数场景下的一些性能优化的方向。当我们开始讨论卡顿时,往往意味着页面中有较大的逻辑运算,该计算任务耗时太长,阻塞了浏览器的主线程,导致用户的一些操作无法及时响应。因此,我们今天卡顿优化的重点在于如何优化耗时较长的计算 ......
76
0
0
2024-04-21
场景复现:做后台管理系统的时候,出现了一个bug:点击“导出数据”按钮,打开文件里面是空的。乱码的url正确的urlbug解决思路:1.文件为空,应该是请求的url路径不对,显示一个空的模板即没带参数,因此可以判断是参数有误; 2.控制台打出url,可以看出是参数中文乱码; 3.怎样解决中文乱码问题?(大坑就在这里) 当时我尝试了encodeURI 和 de ......
104
0
0
2024-04-16
最近做项目要求将webpack打包方式换成vite,下面将详细讲解一下配置vite需要修改哪些文件,以及过程中踩到的奇葩坑。vite官网文档网址:https://vitejs.cn1.新建viteconfig.js文件一般在vue-cli项目中会有一个vueconfig.js文件,里面会有webpack配置; 那么新建一份viteconfig.js文件,里面 ......
81
0
0
2024-04-16
1.Promise是什么?Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法 ......
80
0
0
2024-04-15
闭包这个话题一直都是前端面试的重点,下面我将结合自己的春招面试经验,关于闭包这个问题讲讲技术面试官会对它进行怎么一个提问?1.闭包是什么?闭包是js的一种语法特性。 闭包就是能够读取其他函数内部变量的函数 创建闭包的最常见的方式就是在一个函数内创建另一个函数,创建的函数可以访问到当前函数的局部变量。——《JavaScript高级程序设计》2.为什么要使用闭包 ......
85
0
0
2024-04-15
对于内容复杂和变更频繁的前端应用,页面渲染也常常是性能优化的核心场景。前面我有给大家整体地讲过《前端性能优化--方案归纳篇》,其实里面已经囊括了大多数场景下的一些性能优化的方向。关于加载流程相关的优化,也有在《前端性能优化--加载流程篇》一文中进行详细的介绍。本文主要围绕页面渲染相关的内容,来进行性能优化分析。首屏渲染说到页面渲染,首屏的渲染显然是最首要的。 ......
75
0
0
2024-04-15
对于前端应用的性能优化,大多数时候我们都是从加载流程开始优化起。前面我有给大家整体地讲过《前端性能优化--归纳篇》,其实里面已经囊括了大多数场景下的一些性能优化的方向。越是交互复杂、用户量大的业务,对性能的要求就越是严格。大多数的前端性能优化,都是从页面的启动和加载流程开始梳理和定位,对于功能复杂的业务来说,这样的梳理尤为重要。注意:前面说过性能优化分为时间 ......
75
0
0
2024-04-09