`
zhangyaochun
  • 浏览: 2613021 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

js-call和apply

 
阅读更多

(1)作为函数调用模式的的4种之一的apply调用模式:

   apply(thisArg,argArray);

    ------有两个参数:第一个是将被绑定给this的值;第二个是一个参数数组

    ------如果argArray不是一个有效的数组或不是arguments对象,会导致一个TypeError;如果没有提供argArray和thisArg任何一个参数,那么global对象将被用作thisArg,并无法被传递任何参数。

 

 

var array = [3,5];
var sum = add.apply(null,array); //sum 8
 

 

(2)call(thisArgs,[arg1,arg2…] ]);

   ------参数1:将被用作当前对象的对象。参数2:将被传递方法参数序列。

   ------如果没有thisArgs参数,那么Global对象被用作thisArgs

function add(a,b){
   alert(a+b);
}
function sub(a,b){
   alert(a-b);
}
add.call(sub,2,1);

 其实的意思就是add来替换sub--------------add.call(sub,2,1);和add(2,1)

 

 

区别:

             call 的第二个参数可以是任意类型,而apply的第二个参数必须是数组,也可以是arguments

分享到:
评论

相关推荐

    JavaScript中call与apply方法

    JavaScript中call与apply方法

    关于Javascript中call与apply的进一步探讨

    在JavaScript中,`call`和`apply`是两个非常重要的方法,它们都用于改变函数调用时的上下文(即`this`的值),并且可以灵活地传递参数。本篇文章将深入探讨这两个方法的用法、区别以及实际应用场景。 `call`方法...

    js-object-oriented-bind-call-apply-readme-v-000

    在这段代码中,我们将练习bind , call和apply 。 您可以使用浏览器的JS控制台进行跟踪,也可以使用httpserver来提供所提供的index.html 。 HTML文件将自动加载index.js并在浏览器中显示您所做的编辑。 目标 使用...

    js代码-call 和 apply 以及bind 的用途

    在JavaScript中,`call`、`apply`和`bind`都是与函数调用相关的三个重要方法,它们都允许我们改变函数执行时的上下文(即`this`关键字指向的对象)和参数传递。这三个方法在实际编程中有着广泛的应用,帮助开发者...

    Javascript - 全面理解 caller,callee,call,apply (转载)

    这篇文章将深入探讨四个关键概念:caller、callee、call和apply,它们都是JavaScript函数操作的核心部分,对于理解和使用高级JavaScript编程至关重要。 首先,我们来了解`caller`和`callee`。在JavaScript的函数...

    arguments-call-apply.rar_Windows编程_Java_

    在压缩包的文件中,7.6.js、7.7.1.js和arguments-call-apply.js很可能包含了关于这些主题的示例代码和讲解。通过学习这些文件,开发者可以深入理解如何在实际项目中使用`arguments`对象,以及何时选择`call`或`apply...

    js-object-oriented-bind-call-apply-this-lab-nyc-web-051418

    绑定,致电,申请实验室目标使用JavaScript的绑定,调用和应用方法来更改函数的范围并正确传递参数指示在本实验中,我们的测试定义了一些函数,然后将这些函数传递给我们要求您编写的函数。 您的函数不仅应调用作为...

    js-object-oriented-bind-call-apply-this-lab-dumbo-web-042318

    绑定,致电,申请实验室目标使用JavaScript的绑定,调用和应用方法来更改函数的范围并正确传递参数指示在本实验中,我们的测试定义了一些函数,然后将这些函数传递给我们要求您编写的函数。 您的函数不仅应调用作为...

    js代码-call、apply、bind

    在JavaScript中,`call()`, `apply()`, 和 `bind()` 都是Function对象的方法,它们都用于改变函数调用时的上下文(即`this`关键字指向的对象),以及动态地传入参数。理解这三个方法对于深入掌握JavaScript的面向...

    js中call与apply的用法小结

    在JavaScript中,`call` 和 `apply` 是两种非常重要的函数调用方式,它们都用于改变函数执行时的上下文,即`this`的指向。本文将深入探讨这两种方法的用法及其在实际编程中的应用。 ### 1. `call` 的基本用法 `...

    详解js中call与apply关键字的作用.docx

    JavaScript中的`call`和`apply`是两种非常重要的方法,它们都用于改变函数内部`this`的指向,并执行该函数。这两个方法都是Function对象的原型方法,因此所有的函数都具备`call`和`apply`。 1. `call`方法: - `...

    Js的call与apply1

    JavaScript中的`call`和`apply`是两种非常关键的方法,它们允许我们改变函数内部`this`的指向,同时也为实现模拟继承提供了可能。虽然JavaScript不直接支持类继承,但通过`call`和`apply`,我们可以实现类似的效果。...

    理解JavaScript的caller callee call apply

    ### 理解JavaScript中的`caller`...综上所述,理解`caller`、`callee`、`call`、`apply`以及`arguments`对象在JavaScript编程中至关重要,它们不仅增强了函数的灵活性和复用性,还提供了深入分析和调试代码的强大工具。

    JavaScript中call和apply方法的区别实例分析

    本文实例分析了JavaScript中call和apply方法的区别。分享给大家供大家参考,具体如下: 这两个方法不经常用,但是在某些特殊场合中是非常有用的,下面主要说下它们的区别: 1、首先,JavaScript是一门面向对象的语言...

    javascript中call和apply方法浅谈

    在JavaScript中,`call`和`apply`是两种非常重要的函数调用方式,它们都用于改变函数内部`this`的指向,实现函数的动态绑定。这两个方法都是Function对象的原型方法,可以应用到任何函数上。 首先,让我们深入理解`...

    详解js中call与apply关键字的作用

    在JavaScript中,call与apply是两个非常...call和apply在JavaScript中的运用广泛且灵活,无论是改变函数上下文还是借用其他对象的方法,它们都能起到很大的作用。掌握这两者,可以让你的JavaScript编程更加高效和优雅。

    Javascript - 全面理解 caller,callee,call,apply

    在JavaScript的世界里,caller、callee、call和apply是四个非常重要的概念,它们涉及到函数的调用方式和执行上下文。这些知识点对于深入理解和优化代码至关重要,尤其在处理高阶函数和面向对象编程时。 首先,让...

    javascript中apply和call方法的作用及区别说明

    一、call和apply的说明 1、call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有call,apply属性。既然作为...

Global site tag (gtag.js) - Google Analytics