返回顶部
首页 > 资讯 > 精选 >JS中call和apply的区别
  • 633
分享到

JS中call和apply的区别

区别JScall 2023-10-29 13:10:27 633人浏览 八月长安
摘要

一、参数传递方式不同 call方法接受的是若干个参数列表,名列前茅个参数表示要改变上下文的对象,后面的参数表示要传递给函数的参数。 apply方法接收的是两个参数,名列前茅个参数表示要改变上下文的对象,第二个参数则是一个包含多个

一、参数传递方式不同

call方法接受的是若干个参数列表,名列前茅个参数表示要改变上下文的对象,后面的参数表示要传递给函数的参数。

apply方法接收的是两个参数,名列前茅个参数表示要改变上下文的对象,第二个参数则是一个包含多个参数的数组

二、使用场景的差异

call方法适合参数数量固定的情况,例如,知道要传递给函数的参数具体有哪些时,可以使用call方法。

apply方法适用于参数数量不确定的情况,例如,不知道要传递给函数的参数有多少个时,或者参数以数组形式存在时,可以使用apply方法。

三、实现方式的差异

在使用call方法时,需要将上下文对象作为名列前茅个参数传递,然后按顺序传递函数的参数。例如:fun.call(obj, arg1, arg2, arg3)。

使用apply方法时,上下文对象仍然作为名列前茅个参数,但是函数的参数需要放在一个数组(或类数组对象)内,作为第二个参数传递。例如:fun.apply(obj, [arg1, arg2, arg3])。


延伸阅读

1、call的概念

call是Function.prototype的一个方法,它的主要作用是改变函数体内this的指向,并且可以接受参数列表,名列前茅个参数用于指定新的this的指向,后面的参数则是函数运行时的参数。

2、apply的概念

apply同样是Function.prototype的一个方法,它的功能与call方法类似,都是用来改变函数体内this的指向,不同之处在于apply接受两个参数,名列前茅个参数指定新的this的指向,第二个参数则是一个数组,其中包含了函数运行时的参数。

--结束END--

本文标题: JS中call和apply的区别

本文链接: https://lsjlt.com/news/521063.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JS中call和apply的区别
    一、参数传递方式不同 call方法接受的是若干个参数列表,名列前茅个参数表示要改变上下文的对象,后面的参数表示要传递给函数的参数。 apply方法接收的是两个参数,名列前茅个参数表示要改变上下文的对象,第二个参数则是一个包含多个...
    99+
    2023-10-29
    区别 JS call
  • javascript中call和apply有哪些区别
    今天小编给大家分享一下javascript中call和apply有哪些区别的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收...
    99+
    2024-04-02
  • JS中call(),apply(),bind()函数的区别与用法详解
    call() 介绍 通过提供一个新的this值给当前调用的函数/方法,从而改变this指向。 语法 fn.call(this.Arg, arg1, arg2,...) thisAr...
    99+
    2022-12-10
    JS中call() apply() bind()函数的区别与使用方法 call() apply() bind()的区别 JS中call()使用方法 JS中apply()使用方法 JS中bind()使用
  • call()和apply()之间的区别是什么
    这篇文章主要介绍call()和apply()之间的区别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 不同之处是: call() 方法分别接受参数。 apply() 方法...
    99+
    2024-04-02
  • JavaScript中call,apply,bind的区别与实现
    目录区别call实现apply实现bind实现bind 返回的函数 作为普通函数调用 代码实现bind 返回的函数 作为构造函数调用bind代码最终实现区别 call、apply、b...
    99+
    2024-04-02
  • JS中call()、apply()和bind()函数怎么使用
    今天小编给大家分享一下JS中call()、apply()和bind()函数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-07-04
  • JS中this指向以及call、apply有什么用
    这篇文章给大家分享的是有关JS中this指向以及call、apply有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在具体的实际应用中,this 的指向无法在函数定义时确定...
    99+
    2024-04-02
  • 再谈JavaScript中bind、call、apply三个方法的区别与使用方式
    call的基本使用 var ary = [12, 23, 34]; ary.slice(); 以上两行简单的代码的执行过程为:ary这个实例通过原型链的查找机制找到Array.pro...
    99+
    2024-04-02
  • JavaScript中call和apply的相同点和不同点
    这篇文章主要讲解了“JavaScript中call和apply的相同点和不同点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中call和...
    99+
    2024-04-02
  • python中apply和transform有什么区别
    这篇文章将为大家详细讲解有关python中apply和transform有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python是什么意思Python是一种跨平台的、具有解释性、...
    99+
    2023-06-15
  • JS中call、apply和bind函数手写实现demo的方法是什么
    本篇内容介绍了“JS中call、apply和bind函数手写实现demo的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!JavaS...
    99+
    2023-07-05
  • 分析ES5和ES6的apply区别
    目录概述函数签名可选参数非严格模式异常处理实际使用总结概述 众所周知, ES6 新增了一个全局、内建、不可构造的Reflect对象,并提供了其下一系列可被拦截的操作方法。其中一个便是...
    99+
    2024-04-02
  • 如何使用JS简单实现apply、call和bind方法
    这篇文章主要讲解了“如何使用JS简单实现apply、call和bind方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用JS简单实现apply、call和bind方法”吧!1.方法介...
    99+
    2023-06-29
  • JS 函数的 call、apply 及 bind 超详细方法
    目录JS 函数的 call、apply 及 bind 方法一、call() 方法1、call()方法的模拟实现二、apply() 方法1、apply()方法的模拟实现 三、bind(...
    99+
    2024-04-02
  • 详解JS中? ?和?. 和||的区别
    目录1、 与 || 的区别2、 和 . 的区别1、 与 || 的区别 1)相同点: 和 || 的用法相同,都是前后是值,中间用符号连接,根据前面的值来判断最终是返回前面的值还是后面...
    99+
    2024-04-02
  • JS中null和undefined的区别
    目录前言定义异同点实际应用总结1.JS 中如何判断 undefined2.JS 中如何判断 null前言 在JavaScript中,null和undefined是两个常见的数据类型,...
    99+
    2023-05-20
    JS null undefined
  • 使用JS简单实现apply、call和bind方法的实例代码
    目录1.方法介绍2.apply、call和bind方法的实现2.1.apply的实现2.2.call的实现2.3.bind的实现总结1.方法介绍 apply、call和bind都是系...
    99+
    2024-04-02
  • js中==和===的区别有哪些
    这篇文章将为大家详细讲解有关js中==和===的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript是什么JavaScript是一种直译式的脚本语言,其解释器被称为JavaScri...
    99+
    2023-06-15
  • Python函数中apply、map、applymap的区别
    目录一、总结二、实操对比一、总结 apply —— 应用在 dataFrame 上,用于对 row 或者 column 进行计算 applymap —— 应用在 d...
    99+
    2024-04-02
  • Oracle中执行存储过程call和exec区别
    在sqlplus中这两种方法都可以使用:exec pro_name(参数1..);call pro_name(参数1..);区别:1. 但是exec是sqlplus命令,只能在sqlplus中使用;call...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作