全部文章

1299 篇文章

八股文01-13
阅读

mouseEnter、mouseLeave、mouseOver、mouseOut 有什么区别

关键词 :mouseEnter、mouseLeave、mouseOver、mouseOut 区别 这四个事件都与鼠标指针与元素的交互有关,不过它们之间有一些关键的差异: 1. mouseEnter 和 mouseLeave : 事件当鼠标指针进入元素时触发,但不冒泡,即只有指定的元素可以触发此事件,其子元素不能。 事件则是当鼠标指针离开元素时触发,同样也不冒泡。 2. mouseOver 和 mouseOut : 事件当鼠标指针移动到元...

#面试
八股文01-13
阅读

副作用是什么概念

| 关键词 :js副作用 在 JavaScript 中, 是指函数或表达式在执行过程中对外部环境产生的影响,而不仅仅是返回一个值。副作用可能包括但不限于对全局变量、参数、数据结构、文件系统、网络请求等进行修改。 副作用可以是有意为之,也可以是无意之间发生的。在函数式编程中,减少副作用是一种被推崇的编程风格,因为副作用使得代码的行为更难以跟踪和理解,容易引发不可预见的 bug。尽可能减少副作用有助于代码更加可靠、可测试和易于维护。 以下是...

#面试
八股文01-13
阅读

对象深拷贝的原理和代码实现

关键词 :对象什拷贝原理、避免循环引用和栈溢出 在 JavaScript 中,对象深拷贝指的是创建一个对象的副本,使得这个副本与原始对象不共享任何一个引用。这意味着,如果你修改了副本的属性,原始对象不会受到任何影响,反之亦然。 原理 在实现深拷贝时,有几个关键的概念需要理解: 1. 值类型与引用类型 :值类型(如数字、字符串和布尔值)直接存储数据的值,而引用类型(如对象、数组等)存储的是对一个内存地址的引用。 2. 复制引用 :如果你将...

#面试
八股文01-13
阅读

箭头函数的作用以及使用场景

特点 1. 简洁的语法形式 :箭头函数使用了更简洁的语法形式,省略了传统函数声明中的 关键字和大括号。它通常可以在更少的代码行数中表达相同的逻辑。 2. 没有自己的this :箭头函数没有自己的 绑定,它会捕获所在上下文的 值。这意味着箭头函数中的 与其定义时所在的上下文中的 保持一致,而不是在函数被调用时动态绑定。这可以避免传统函数中常见的 指向问题,简化了对 的使用和理解。 3. 没有 对象 :箭头函数也没有自己的 对象。如果需要访...

#面试
八股文01-13
阅读

递归和尾递归是什么概念

关键词 :递归和尾递归 递归和尾递归都是指在函数内部调用自身的方式,但它们有一些关键的区别。 概念 递归是一种函数调用自身的方式。在递归中,函数会不断地调用自身,直到满足某个终止条件才停止递归。递归通常使用在解决可以通过重复拆分为更小的子问题来解决的问题上。但是,递归可能会导致函数调用的层级过深,消耗大量的内存,因为每次递归调用都会在内存中创建一个新的函数调用帧。如果没有正确的终止条件,递归可能会导致无限循环。 尾递归是一种特殊的递归形...

#面试
前端性能01-08
阅读

前端性能报告

数据说明 本报告的大部分内容均基于 Chrome 用户体验报告 ( ) 中的真实用户数据。 Chrome 用户体验报告(CrUX)反映了真实世界中 用户在热门网站上的体验,是 项目的官方数据集,展示了所有用户中心的核心 指标。 数据基于全球真实浏览器用户收集,并通过多种 和第三方工具公开提供,用于 搜索的页面体验排名因素。并非所有原点或页面都在数据集中,需公开可发现且访客数量足够多以达统计显著性。 核心网页指标(Core Web Vit...

#学习
富文本01-04
阅读

Monaco Editor,代码编辑器神器

本文介绍了 Monaco Editor 这款微软开源的基于浏览器的代码编辑器,它功能强大,包括语法高亮、代码补全等,具有轻量、可定制、跨平台等特点。文中阐述了其应用场景、使用方法、基本概念等,还列举了类似项目并给出项目地址,适合多种开发需求。 关联问题: Monaco支持哪些语言 如何定制Monaco 怎样优化界面效果 Monaco Editor是微软开源的一款基于浏览器的代码编辑器,它源自于Visual Studio Code(简称V...

#学习
nextjs12-31
阅读

Next.js App Router 项目,想加个进度条,但是怎么监听页面跳转

问题起因是我想给自己博客页面切换时加一个进度条。博客前端技术栈是 React,使用 Next 做了 SSR。在进度条方面,npm 上有非常成熟的库 。我们只需要调用 和 即可开启和结束进度条。我们监听到页面开始、结束切换的时候,调用 和 即可。但是问题是,Next 13 版本以后推出的 App Router 模式并没有给出监听路由切换的 API。 先来看看 Pages Router 模式的做法: 可以发现,在 npm 上面有一个 Nex...

#学习
前端12-26
阅读

vite中sass警告JS API过期_the legacy js api is deprecated and will be remove

1.问题 在Vite创建项目中引入Sass弹出The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0 \ 中sass警告JS API过期     The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0 警告提示表明你当前正在使用的 Dart Sas...

#学习