面试常客系列之跨域前言
跨域?什么是跨域呢?我们先来看看一个url的组成, ,这一个url我们可以分成四部分来看 是协议, 是域名, 是端口, 是路径.在浏览器中,我们从一个域名发送请求到另一个域名,如果两个域名的协议,域名,端口三部分只要存在一部分不同就会发生跨域,也就是说只有两个域名的协议,域名,端口都相同才会不会发生跨域,所以我们又如何解决跨域的问题呢?在下文中会给大家介绍几种方法去解决跨域问题. 那么要解决跨域就不得不谈及 ,同源策略是一种安全措施,用...
深入理解浏览器的事件循环机制
在现代Web开发中,JavaScript作为浏览器中最常用的编程语言,其执行机制深刻影响着Web应用的性能和用户体验。事件循环(Event Loop)作为JavaScript处理异步操作的核心机制,是理解JavaScript执行模型的关键。本篇文章从多个维度去分析事件循环的机制,希望可以帮大家更加深入的了解它。 在讨论事件循环之前,理解浏览器的执行环境是至关重要的。浏览器是一个多线程环境,包含以下主要线程: GUI 渲染线程(GUI R...
JavaScript Set有新功能啦,子、交、并、补轻松搞定
背景 本文是一篇翻译文章,看到原文 感觉内容非常不错,而且前端也会用到集合的计算,就决定翻译并整理一下。内容顺序跟原文有所出入,按印象中数学集合的定义进行整理的。 JavaScript Set 添加新功能了,子、交、并、补轻松搞定,一起来看看! 引言 JavaScript Set 是在 ES2015 规范中被引入的集合结构,但是它的功能并不完整: 1. 创建 2. 增 3. 删 4. 查 除此之外想要实现集合的其他功能,如计算子集、交集...
JS事件循环Event Loop
面试率 90% 的JS事件循环Event Loop,看这篇就够了!! ! 事件循环(Event Loop)大家应该并不陌生,它是前端极其重要的基础知识。在平时的讨论或者面试中也是一个非常高频的话题。 理解 JavaScript 的事件循环往往伴随着宏任务和微任务、JavaScript 单线程执行过程及浏览器异步机制等相关问题,而浏览器和 NodeJS 中的事件循环实现也是有很大差别。熟悉事件循环,了解浏览器运行机制将对我们理解 Java...
绕过中间商,不用 input 标签也能搞定文件选择
在本专栏的第一篇文章中,我们重新认识了 这位老伙计,挖掘了它的几个彩蛋特性。在做文件上传时,input 标签确实是我们的黄金搭档。但是为了方便调教 CSS 样式,我们往往需要把 input 标签藏起来,而用其他 HTML 元素来做 UI 代理。似乎是我们只馋 的身子,并不会给它一个名分 🐶。 但其实,不一定非要经过 input 标签这个中间商,我们是可以直接用 JavaScript 和系统进行文件交易的! ! 在上面的示例中,左侧是传...
面试题
面试题 对于各位看官老爷们来说,题目应该是非常简单的,由于个人原因,这么好的运气,也没能拿下它,属实是不应该啊,不知道下次面试有没有这么好的运气了(谁还不想当侥幸哥呢!!) 对于token为什么存入localStorage?你是怎么考虑的? 这个可能需要介绍浏览器存储的特点吧,个人认为,所以就按照存储特点进行回答了。 1. localStorage可以实现一个持久化存储,即使浏览器关闭,它的数据也不会消失,对于需要在多个页面间保持用户登...
“同学,谈谈你对vue3 响应式原理的理解”
深入解析 Vue 3 的响应式原理涉及其核心实现细节和底层机制,主要包括 的使用、依赖收集与触发、以及性能优化策略。 1\. 响应式系统概述 Vue 3 的响应式系统基于 对象来实现数据的自动追踪和更新。 的主要作用是拦截对对象属性的操作(如读取、写入等),并允许开发者定义自定义行为。 2\. 响应式对象的创建 2.1 的使用 构造函数接收两个参数: 目标对象 :即需要被代理的原始对象。 处理器对象 :定义了一系列拦截操作的方法(如 、...
JavaScript 内存泄漏:识别与防范
导读 内存泄漏是指程序在不再需要某些对象时,未能释放这些对象所占用的内存,导致内存占用持续增加,最终可能导致系统性能下降甚至崩溃。 在 JavaScript 中,由于其垃圾回收机制(Garbage Collection),内存管理通常由运行时环境自动处理。然而,内存泄漏仍然可能发生,特别是在长时间运行的应用程序中。本文将介绍JavaScript内存泄漏的常见原因及其预防方法。 常见的内存泄漏类型 以下是 JavaScript 中一些常见...
Web浏览器中的JavaScript事件循环机制
JavaScript是一门单线程语言,但通过事件循环(Event Loop)机制,它能够处理异步操作,实现非阻塞的I/O模型。让我们深入了解Web浏览器中的事件循环机制。 事件循环的基本概念 事件循环主要由以下几个部分组成: 1. 调用栈(Call Stack):用于存储正在执行的函数调用。 2. 堆(Heap):用于存储对象。 3. 任务队列(Task Queue): 宏任务队列(Macrotask Queue) 微任务队列(Micr...