自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 收藏
  • 关注

原创 script标签中defer和async的区别

如果没有defer或async属性,浏览器会立即加载并执行相应的脚本。它不会等待后续加载的文档元素,读取到就会开始加载和执行,这样就阻塞了后续文档的加载。

2025-02-16 19:35:16 152

原创 React的路由模式,优缺点写出三种,路由跳转传参如何传递如何接收

优点:适用于无需使用URL的场景,如移动应用程序或Electron桌面应用程序。路由信息保存在内存中,不会在URL中显示,同时也不需要服务器配置。优点:URL更美观,不存在哈希,可以与传统域名和路径一样。通过在URL的哈希部分(#)进行路由,可以避免与服务器进行实际的通信。缺点:要求服务器配置来支持,因为路由信息是通过URL路径显示的,需要服务器配置从不同的路径返回同一个HTML文件。缺点:无法在浏览器地址栏中显示路由信息,不适用于需要直接访问某个特定页面的情况。)时,在目标URL的路径中添加参数。

2024-11-26 09:46:15 354

原创 CSS3的新特性都有哪些?

这些特性使CSS更加强大和灵活,使开发者能够更轻松地实现各种设计和布局效果,同时提高了响应性和性能。CSS3(Cascading Style Sheets 3)引入了许多新特性,以增强网页设计的灵活性和功能。:媒体查询允许根据不同的设备、屏幕尺寸和特性来应用不同的CSS样式,从而实现响应式设计。:CSS Grid布局是一个强大的网格系统,用于创建复杂的布局结构。:CSS3支持二维和三维的元素变换,包括旋转、缩放、移动和透视。属性,用于创建动画和过渡效果,而不需要JavaScript。

2024-11-22 15:28:19 265

原创 调和阶段setState干了什么?

React 在下一个“调和阶段”(Reconciliation Phase)中比较虚拟DOM树的差异,以找出需要更新的部分。时,React 将触发组件的重新渲染,以反映新的状态。React会将新的状态与旧的状态合并,而不是完全替换它。这种异步更新的机制是为了提高性能,因为它可以合并多个状态更新,减少不必要的DOM操作。调用并不会立即改变组件的状态,因此如果你想在状态更新后执行某些操作,应该在。调用会在组件的更新阶段之后触发,而不会立即生效。的调用触发了更新,但实际的DOM更新在下一个调和阶段中完成。

2024-11-22 15:26:55 241

原创 说说Reat diff算法是怎么运作的,从tree层到component层到element层分别讲解?

如果类型和属性都相同,React会认为这两个根节点是相同的,不需要进行任何更新。Real-DOM Diff算法,通常称为Virtual DOM Diff算法,是React使用的一种高效的算法,用于比较两个虚拟DOM树(Virtual DOM Tree)之间的差异,并最小化对实际DOM的更新,从而提高性能。总的来说,Real-DOM Diff算法是React的核心之一,它使React能够高效地管理和更新DOM,提供了快速响应用户交互的能力,同时尽可能减少了不必要的DOM操作,提高了性能。

2024-11-22 15:26:06 293

原创 Webpack有哪些核心概念?

通过代码分割,可以将常用的第三方库或业务代码拆分成不同的文件,按需加载,减少初始加载时间。:Webpack 通过使用哈希值作为文件名的一部分,可以根据文件内容的更改来更新缓存。这样,在文件内容不变的情况下,可以利用浏览器缓存,减少重新下载的开销。输出通常是一个或多个打包后的文件,可以是 JavaScript、CSS 等类型。:Webpack DevServer 是一个轻量级的开发服务器,提供了热更新、代理转发、自动刷新等开发时常用的功能。入口可以是一个或多个文件,形成一个依赖图的根节点。

2024-11-22 09:53:10 286

原创 Js中浅拷贝和深拷贝有什么区别,如何实现?

浅拷贝:浅拷贝仅拷贝对象或数组的引用,而不是拷贝其内部的值。这意味着原始对象和拷贝后的对象会共享同一个内存地址,当其中一个对象修改了属性或元素时,另一个对象也会受到影响。深拷贝:深拷贝会创建一个完全独立的对象或数组,并递归地拷贝其所有的属性或元素。这意味着原始对象和拷贝后的对象不共享内存地址,修改其中一个对象不会对另一个对象产生影响。在 JavaScript 中,浅拷贝(Shallow Copy)和深拷贝(Deep Copy)是两种常见的数据拷贝方式,它们的区别在于拷贝的程度。

2024-11-22 09:52:24 231

原创 谈谈变量提升,变量的?函数的?

变量提升是指在 JavaScript 代码执行前,JavaScript 引擎会将函数声明和变量声明的语句提升到当前作用域的顶部。这就意味着,在声明之前,这些变量和函数就已经可以被访问并使用了。在 JavaScript 中,变量提升的规则和作用域有关。需要注意的是,只有函数声明才能被整个提升,函数表达式不会被提升。在全局作用域中声明的变量会被全部提升,但是不会被赋值。在函数作用域中声明的变量也会被提升,但是不会被赋值。在函数作用域中声明的函数也会被整个提升。在全局作用域中声明的函数会被整个提升。

2024-11-22 09:51:35 116

原创 TypeScript支持的访问修饰符有哪些?

这些访问修饰符可以应用于类的属性、方法和构造函数参数上。默认情况下,类的属性和方法是公共的(:受保护的访问修饰符,表示成员可以在类内部以及派生类中被访问,但不能在类外部被访问。:只读访问修饰符,表示成员只能在声明时或构造函数内赋值,赋值后不可修改。),但如果显式指定了其他访问修饰符,属性或方法将具有相应的访问权限。:私有访问修饰符,表示成员只能在类内部被访问。(默认):公共访问修饰符,表示成员可以在任何地方被访问。

2024-11-22 09:50:54 217

原创 rgba()和opacity的透明效果有什么不同?

是一种 CSS 函数,用于设置元素的颜色和透明度。它接受四个参数:红、绿、蓝和透明度(alpha 值),取值范围都在 0 到 1 之间。是 CSS 属性,用于设置元素的整体透明度。它接受一个 0 到 1 的值,其中 0 表示完全透明,1 表示完全不透明。可以针对元素的颜色和透明度进行单独设置,可以实现更具体的透明效果,同时保持元素内部内容的不透明性。来精确控制透明效果。则是对整个元素及其内容进行透明度设置,会影响元素内部所有内容的透明度。都可以用于实现元素的透明效果,但它们的实现方式和应用场景有所不同。

2024-11-22 09:49:56 430

原创 TypeScript 的内置数据类型有哪些?

这些是 TypeScript 的内置数据类型,可以根据具体需求选择合适的类型来声明变量、参数、函数等。:表示任意类型,允许在编程过程中逐渐切换到更严格的类型检查。:表示唯一的、不可修改的值,通常用于创建对象的唯一属性名。:表示固定长度的数组,每个位置上的元素类型可以不同。:表示永远不会有返回值的函数或抛出异常的函数。:表示函数类型,包括参数类型和返回值类型。:表示非原始类型的对象(排除原始类型)。:表示数字类型,包括整数和浮点数。:表示一组具有命名值的常量。:表示没有返回值的函数。:表示任意类型的对象。

2024-11-22 09:49:00 189

原创 useEffect 的第二个参数, 传空数组和传依赖数组有什么区别?

需要注意的是,在使用具体的依赖项数组时,应确保其中包含所有在副作用函数中所使用的依赖项。如果某个依赖项被遗漏,可能会导致副作用函数中使用的数据不是最新的。作为依赖项,主要适用于希望在组件渲染之后执行一些只需执行一次的副作用操作,例如发送网络请求、订阅事件等。在特定的依赖项发生变化时进行调用,常用于处理需要根据依赖项更新的副作用操作。在组件初始化渲染完成后执行一次,并在每次指定的依赖项发生变化时再次执行。钩子函数中,第二个参数用于指定依赖项数组。不依赖于任何值,仅在初始化时运行一次,不会进行后续的更新。

2024-11-22 09:47:36 226

原创 写一个转换数据格式方法,将对象转换为数组?

函数,它接收一个对象作为参数,并返回一个由对象的键值对组成的数组。方法来将对象转换为数组。方法对每个键值对进行处理,生成新的对象格式。将对象转换为键值对的数组,然后使用。可以使用 JavaScript 的。在上述代码中,我们定义了一个。在函数内部,我们使用。

2024-11-22 09:45:33 301

原创 js和ts的区别

通常会引入一些还未在 JavaScript 中实现的特性,比如最新的 ECMAScript 特性,或者一些 TypeScript 特有的特性,如泛型(generics)和装饰器(decorators)。开发者可以定义变量的类型,函数的参数和返回值的类型,从而增强代码的安全性和可维护性。是一种动态类型语言,这意味着变量的类型是在运行时决定的。有额外的学习成本,因为需要掌握类型系统和编译工具链,但它的类型系统可以帮助开发者写出更健壮的代码。变量和函数的类型是隐式的。等基本类型,以及更复杂的类型如接口(

2024-11-22 09:43:24 702

原创 this绑定的方式有哪几种,分别发生在什么场景中?

/ 在浏览器中指向 window,在严格模式下为 undefined。// 使用了箭头函数,继承自 obj 对象。// 隐式绑定到 obj 对象。// 显式绑定到 person 对象。// 输出 "Alice"(而不是默认的全局对象)绑定的主要方式,了解它们有助于理解在不同上下文中如何使用和处理。在全局上下文中默认指向全局对象,通常是。隐式绑定:当函数作为对象的方法被调用时,默认绑定到全局对象(在严格模式下为。

2024-07-30 11:24:13 415

原创 Vue中生命周期函数有哪些?Vue中created和mounted生命周期函数有什么区别?谁更适合请求接口使用?为什么

beforeCreate: 在实例初始化之后、数据观测和事件配置之前被调用created: 在实例准备就绪后被调用。可以访问已设置的数据、计算属性、方法、DOM等beforeMount: 在挂载开始之前被调用。这时模板已编译完成,但尚未渲染到真实的DOM中mounted: 在挂载完成后被调用。可以访问到渲染后的DOM,常用于进行API调用或添加事件监听beforeUpdate: 在数据更新时、重新渲染之前被调用。可以在此修改数据,但不会触发附加的重新渲染updated: 在数据更新时、重新渲染完成后被调用。

2024-07-01 21:29:54 502 2

原创 Vue双向绑定如何实现?

总结起来,Vue的双向绑定原理是通过数据劫持和依赖收集来实现的。当数据发生变化时,Vue能够自动检测到变化并更新相关的视图部分,而当视图被修改时,Vue也能够将变化反映到数据上。这样就可以实现数据和视图的同步更新,提高了开发效率和用户体验。

2024-07-01 21:28:33 528 1

原创 如何理解Vue中的虚拟DOM和diff算法?

虚拟DOM:虚拟DOM是Vue的核心概念之一。在Vue中,当组件渲染时,它创建的不是真实的DOM节点,而是一个临时的、轻量级的JavaScript对象,我们称之为虚拟节点或VNode。这个VNode在内存中表示了真实的DOM节点应该是什么样子的。当数据改变时,Vue会创建新的VNode,然后与旧的VNode进行对比。diff算法:Vue使用了一种称为“深度优先遍历”的算法来比较两个VNode树。这个算法会遍历每个树的节点,并比较它们的属性和子节点。如果两个节点是相同的类型(例如都是元素节点),那

2024-07-01 21:27:09 306 1

原创 Http请求头有哪些?作用是什么?

1.通用头(General Headers) : 这部分头信息既可以用在请求,也可以用在响应是作为一个整体而不是特定资源与事务相关联。2.请求头 (Request Headers): 这部分头信息允许客户端传递关于自身的信息和希望的响应形式3.响应头(Response Headers) :这部分头信息由服务器和用于传递自身信息的响应。4.实体头(Entity Headers):这部分头信息定义被传送资源的信息,即可用于请求,也可用于响应Host: 客户机通过这个头告诉服务器,想访问的主机名lf-Modifi

2024-07-01 21:25:46 376 1

原创 为什么说Http协议是一种无状态协议?项目中如何解决这种无状态的问题

HTTP协议被称为无状态协议,主要是因为它不会在服务器端保留客户端的状态。这意味着,每次客户端向服务器发送请求时,服务器都会将其视为全新的请求,而不会了解之前的请求或响应。因此,HTTP协议无法在多个请求之间保持状态在项目中,解决这种无状态的问题主要有以下几种方式1使用Cookie: Cookie是一种在客户端存储状态信息的方式。服务器可以通过在响应中设置Cookie,将状态信息存储在客户端的浏览器中。然后,在后续的请求中客户端会自动将Cookie包含在请求头中以便服务器可以识别和跟踪用户的状态2使用Ses

2024-07-01 21:24:10 434 1

原创 vue的缺点是什么?优点是什么?

有一些限制和挑战,特别是在大型和复杂应用程序方面,开发者需要谨慎选择框架以满足项。是一个强大而灵活的前端框架,具有很多优点,适用于许多项目。是一个轻量级的框架,文件大小相对较小,因此加载速度快,适用于。允许开发者以自己的方式使用它,不强制使用一种特定的工程结构,有一个强大的生态系统,包括官方和第三方的插件、工具和扩展,样的框架,其社区规模较小,可能导致较少的资源和支持。在开发中非常灵活,但在处理复杂的大型应用程序时,框架,它有很多优点,但也有一些缺点。框架,它有很多优点,但也有一些缺点。

2024-07-01 18:42:57 573

原创 组件化开发 模块化开发 工程化开发

组件化开发、模块化开发和工程化开发是现代前端开发中的三个重要概念,它们有助于构建。组件化开发是一种将应用程序拆分成独立的、可重用的部件或组件的方法。模块化开发是一种将代码拆分成独立的模块或文件的方法,每个模块负责实现特定的功能或。工程化开发是一种将开发过程系统化和自动化的方法,以提高开发效率和质量。构建工具、自动化测试、代码规范、持续集成等技术和实践,以确保应用程序的可靠性和可。综合这些概念,组件化开发、模块化开发和工程化开发一起,有助于构建现代前端应用程。序,使其更易于开发、测试、维护和扩展。

2024-07-01 18:40:28 478 1

原创 写写node.js吧

Node.js采用了事件驱动、非阻塞I/O模型,使得它能够处理大量并发请求而不会阻塞线程,从而具有出色的性能表现。Node.js的设计简洁而轻量,启动速度快,内存占用低,适合构建轻量级、高效的应用程序。使用Node.js,开发者可以使用同一种语言(JavaScript)进行前后端开发,简化了开发人员的学习成本和代码维护成本。Node.js拥有丰富的第三方模块和库,可以轻松集成各种功能和服务,提高开发效率。

2024-06-30 20:06:55 627

原创 使用mongodb中的数据查询方法有哪些?

db.User.find({age: { $gt: 22 },education: "本科",gender: "女"}).limit(10).skip(0)db.user.find({name:/^张/})

2024-06-30 19:40:58 410

原创 Http? Http和HTTPS有什么区别

HTTP即超文本传输协议,是一种用于在互联网上传输数据的协议。HTTP是Web的基础,被Web浏览器和服务器用于彼此通信。它是在传输控制协议(TCP)的基础上运行的,TCP确保数据在服务器和客户端之间可靠地传输。HTTP的主要优点之一是它是一个简单而轻量级的协议,可以快速高效地传输数据。但是,它有几个缺点,使得它不适合传输敏感信息,例如信用卡详细信息、登录凭据和个人数据。这是因为它以明文形式传输数据,任何拦截数据的人都可以读取它。为了解决这个问题,开发了HTTPS,即安全超文本传输协议。HTTPS是

2024-06-30 19:38:07 413

原创 从输入URL到页面加载完成的流程是

如果DNS缓存中没有对应的记录,浏览器会向DNS服务器发送域名,将域名转换成IP地址,然后返回给浏览器。浏览器得到响应内容(如HTML代码),并开始渲染页面。通过TCP连接,向服务器发起HTTP请求。浏览器查找当前URL的DNS缓存记录。在浏览器地址栏输入URL并按下回车。根据IP建立TCP连接(三次握手)。服务器处理请求,将数据返回给浏览器。

2024-06-30 19:37:05 352

原创 Vue中$nextTick的作用及应用场景?

Vue中的nextTick用于处理数据动态变化后,DOM还未及时更新的问题,用nextTick就可以获取数据更新后最新DOM的变化。$nextTick是Vue的异步更新队列,用来知道什么时候DOM更新完成的。$nextTick的应用场景:1.有时需要根据数据动态的为页面某些dom元素添加事件,这就要求在dom元素渲染完毕时去设置,但是created与mounted函数执行时一般dom并没有渲染完毕,所以就会出现获取不到,添加不了事件的问题,这回就要用到$nextTick处理。2.在使用某个第

2024-06-30 19:33:18 455

原创 对Promise的理解?Prmose封装原生Ajax的思路

当一个异步操作成功完成时,Promise的状态会从pending变为fulfilled,并返回一个结果值。指定一个函数来处理HTTP请求的状态变化,当HTTP请求成功时,调用resolve()函数,并将响应数据作为参数传递给resolve()函数,当HTTP请求失败时,调用reject()函数,并将错误信息作为参数传递给reject()函数。将Promise对象返回给调用函数,以便调用函数可以使用Promise提供的方法来处理异步操作的结果。Promise是一个对象,它用于处理异步操作。

2024-06-30 19:31:38 338

原创 对BOM的理解?BOM的五大核心和作用是?

BOM是浏览器对象模型。BOM提供了独立于内容而与浏览器窗口进行交互的对象,使JavaScript有能力与浏览器"对话"。BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性:Window对象:浏览器窗口对象。所有JavaScript全局对象、函数以及变量均自动成为window对象的成员Navigator:浏览器对象。获取浏览器的相关信息。Screen:浏览器所处客户端的显示器屏幕对象。获取客户端显示器屏幕对象,以便获取屏幕的相关信息,如屏幕宽度、高度等。History:浏览器当

2024-06-30 19:30:53 310

原创 真实DOM和虚拟DOM的区别?为什么使用虚拟DOM

真实DOM和虚拟DOM的区别如下:体积:真实DOM体积庞大,操作起来比较消耗性能;虚拟DOM体积小,操作起来相对消耗性能少。操作:真实DOM可以直接更新HTML,消耗大量内存;虚拟DOM不能直接更新HTML,但可以映射真实DOM的JavaScript对象,操作起来相对简便。效率:真实DOM频繁的排版+重绘,效率较低;虚拟DOM能够有效避免真实DOM树的频繁更新,减少重绘和回流提高效率。跨平台:真实DOM无法跨平台;虚拟DOM具有跨平台的能力。使用虚拟DOM的原因:1.简单方便,如果使

2024-06-30 19:30:08 181

原创 Vue中封装一个组件的步骤是什么

文档化: 为你的组件提供清晰的文档,描述其用途、属性、用法等,以便其他开发人员能够理解和使用它。优化与维护: 持续优化和维护组件,处理反馈和 Bug,确保组件在项目中的稳定性和性能。编写模板: 在组件的模板部分,使用 Vue 的模板语法来定义组件的外观和结构。创建组件文件: 在你的项目中,创建一个新的 .vue 文件作为组件的容器。使用组件: 在需要使用该组件的地方,通过 import 语句引入组件。编写脚本: 在组件的脚本部分,定义组件的行为、逻辑和数据。样式化: 在组件的样式部分,添加组件的样式规则。

2024-06-30 19:28:20 298

原创 MVVM和MVC的区别是什么

视图和模型之间的通信方式不同:在 MVC 中,视图直接与控制器通信,并通过控制器与模型交互;而在 MVVM 中,视图通过数据绑定与 ViewModel 通信,并由 ViewModel 与模型交互。MVVM 引入了 ViewModel 层:ViewModel 是一个介于视图和模型之间的中间层,负责处理视图显示和用户输入的逻辑。数据绑定:MVVM 中的视图和 ViewModel 之间通过数据绑定实现双向通信,而在 MVC 中,视图和控制器之间只能通过事件监听和回调等方式进行单向通信。

2024-06-30 19:27:19 433

原创 Express是怎么管理路由的

Express管理路由的方式是通过Router对象进行管理,即使用Express提供的app对象的Router()方法创建路由器。路由器是一个独立的中间件处理函数,可以通过调用其get、post、put、delete等方法来注册路由,调用express.Router()方法创建了路由器,通过router.get()方法注册了GET请求的根路径路由,最后使用app.use()方法将路由器挂载到应用程序的根路径下。使用路由器可以将应用程序的路由拆分成多个模块或者文件,使得代码更加清晰和易于维护。

2024-06-30 19:15:18 443

原创 什么是回调函数

回调函数是一种特殊的函数,它作为参数传递给另一个函数,并在被调用函数执行完毕后被调用。回调函数的作用是将代码逻辑分离出来,使得代码更加模块化和可维护。提高程序的性能和效率。回调函数还可以实现代码的复用,因为它们可以被多个地方调用。回调函数的使用场景包括:1.事件处理:回调函数可以用于处理各种事件,例如鼠标点击、键盘输入、网络请求等。2.异步操作:回调函数可以用于异步操作,例如读取文件、发送邮件、下载文件等。3.数据处理:回调函数可以用于处理数据,例如对数组进行排序、过滤、映射等。4.插件

2024-06-30 19:14:27 186

原创 Npm是啥 它的作用有什么

npm是一个node的包管理仓库 ,也是一个网站 ,还是一条命令 包管理:Npm允许开发者在自己的项目中引入、安装、更新和删除第三方的软件包。 版本控制:Npm可以帮助开发者管理项目中所使用的软件包的版本。 脚本执行:Npm提供了一个脚本执行的功能,开发者可以在package.json文件中定义自定义的脚本命令。 构建和打包:Npm可以与其他构建工具(如Webpack、Gulp等)结合使用,帮助开发者构建和打包项目。

2024-06-30 19:12:16 365

原创 对Nodejs中的事件循环机制理解

在 Node.js 中,事件循环是实现非阻塞 I/O 操作的核心机制。事件循环允许 Node.js 在单线程中处理多个并发操作,同时保持高性能和低延迟。事件队列:所有的事件和回调函数都会被放入事件队列中,等待处理。事件循环:事件循环是一个持续运行的程序,用于监听并处理事件队列中的事件。观察者:观察者负责监听特定类型的事件,并将其回调函数添加到事件队列中。I/O 线程池:I/O 线程池负责处理非阻塞的 I/O 操作,例如文件读写、网络请求等

2024-06-30 19:11:13 345 1

原创 总结req对象的属性:

1.req.app:这是Express应用程序实例的一个引用。2.req.baseUrl:获取被挂载的路由实例URL路径。3.req.body:这是一个对象,包含POST请求参数。这样命名是因为POST请求参数在请求正文中传递,而不像查询字符串在URL中传递。为了使req.body可用,需要中间件能够解析请求正文内容类型。4.req.cookies:包含请求发送的cookie的对象。如果请求不包含cookie,则默认为。5.req.fresh:这是一个布尔值,表示请求是否是新鲜的,即客户端缓存是否有

2024-06-30 19:09:15 295 1

原创 请简单叙述Vue2和Vue3的区别和变化

Proxy API具有更好的性能和更广泛的功能,使得在Vue3中能够更好地追踪对象的动态属性和数组的变化。Vue 2 和 Vue 3 是 Vue.js 的两个主要版本,Vue 3 在基础架构和性能方面进行了显著的改进和优化,以提供更好的开发体验和性能表现。相比Vue2的选项式API,组合式API更加直观和易于理解,使得代码结构更清晰,也更容易进行单元测试。:Vue3在TypeScript方面的支持更加全面,并提供了更多的类型定义文件和工具,使得在使用TypeScript开发Vue应用变得更加轻松和可靠。

2024-06-29 11:55:49 188 1

原创 VUE路由的原理

Vue的路由原理是基于浏览器的 History API 或者 Hashchange 事件来实现的。 基于浏览器的 History API: Vue使用浏览器的 History API(pushState、replaceState 和 popstate)来实现路由。在这种模式下,URL 中的路径部分会被修改成对应的路由路径,但不会刷新页面。Vue通过创建一个Router实例来管理路由。在Router实例中,定义一组路由规则,每个规则包含一个路径和对应的组件。当用户在应用中触发路由跳转时,

2024-06-29 10:54:37 484 1

原创 bind,call,apply 区别?

方法创建一个新的函数,该函数会永久地绑定一个特定的上下文(this 值),并返回这个新函数。这个新函数可以稍后被调用,并且它的。不同的是,它接受一个参数数组,其中数组的元素将作为函数的参数传递给原函数。是要绑定到函数的上下文,而后面的参数是要传递给原函数的参数。是要绑定到函数的上下文,而后面的参数是要传递给原函数的参数。是要绑定到函数的上下文,而第二个参数是一个参数数组。创建一个新的函数,不会立即调用原函数,而。方法用于立即调用函数,并指定函数内部的。值,以及传递函数所需的参数列表。接受一个参数列表,而。

2024-06-29 10:53:16 153

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除