`

js apply,call的学习

阅读更多
js中的call,apply主要是来实现类似java中的继承等方案。

call的调用方式:
obj.call(thisObj,arg1, arg2,...);
调用说明:
该方式的作用是将 obj(即this)绑定到thisObj, 使thisObj具备了obj的属性和方法;并立即执行函数。

如:
function add(a, b) { return a + b;}

function sub( a, b) { return a - b;}

add.call(sub, 5, 3); //让sub增加add方法同时立即执行add方法,结果: 8

apply的调用方式:
obj.apply(thisObj, [arg1, arg2,..]);
调用说明:
该方式的作用与call一样,只是参数变成数组对象,接收的是数组。

## call、apply调用原生对象的方法
var a = {0: 1, 1: "youngstream", length: 2};
a.slice(); //会报错,因为slice未定义
Array.prototype.slice.call(a); //会得到[1, "youngstream"],就是让a对象具备了Array的slice方法的能力

call、apply还可以用于继承的实现,具体方案类似上面代码!

参考博客: http://www.cnblogs.com/52fhy/p/5118877.html
分享到:
评论

相关推荐

    JavaScript中call与apply方法

    JavaScript中call与apply方法

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

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

    淡淡简单描述javascript中方法apply和call

    淡淡简单描述javascript中方法apply和call

    javascript callApply代码示例

    javascript callApply代码示例

    js中call与apply的用法小结

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

    JS中的call()和apply()方法的详解

    在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向 语法: apply() 接收两...

    理解JavaScript的caller callee call apply

    ### 理解JavaScript中的`caller`, `callee`, `call`, `apply` #### Arguments对象:JavaScript函数调用的参数管理器 在JavaScript中,每个函数都有一个隐含参数`arguments`,它允许开发者访问传递给函数的所有参数...

    Js的call与apply1

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

    js中apply与call简单用法详解.docx

    ### JavaScript中的apply与call用法详解 #### 一、引言 在JavaScript中,`apply...以上就是关于JavaScript中`apply`与`call`的详细解析,希望能对您的学习有所帮助。如果您还有其他疑问或需要进一步了解,请随时提出。

    跟我学习javascript的call(),apply(),bind()与回调

    综上所述,掌握 call(), apply(), 和 bind() 方法以及回调函数的使用,对于学习和实践JavaScript编程至关重要。无论是改变函数的执行上下文,还是创建特定的函数实例,亦或是处理异步事件,这些概念都能提供强大的...

    js代码-generator apply call bind

    在JavaScript编程中,`generator`、`apply`、`call`和`bind`是四个非常重要的概念,它们各自扮演着不同的角色,对于理解和编写高效、灵活的代码至关重要。接下来,我们将详细探讨这些知识点。 首先,`generator`是...

    javascript技术难点(三)之this、new、apply和call详解

    JavaScript中的this、new、apply和call是理解JavaScript面向对象编程的关键知识点。首先,我们要知道,this关键字在JavaScript中表示当前上下文的对象,但它并不像Java中的this那样始终指向同一个对象。JavaScript的...

    javascript中apply、call和bind的使用区别

    在JavaScript中,`apply()`, `call()`, 和 `bind()` 都是用来操作函数的上下文,即改变函数内部 `this` 指向的方法。它们有三个共同点:第一,它们都能改变函数执行时的 `this` 值;第二,第一个参数都是指定的新 `...

    js中继承的几种用法总结(apply,call,prototype)

    在JavaScript中,实现对象继承主要有三种方式:原型链继承(prototype)、构造函数继承和call/apply继承。下面将分别详细介绍这三种继承方式的具体用法和实现原理。 1. 原型链继承(prototype) 原型链继承是...

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

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

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

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

    Javascript中call,apply,bind方法的详解与总结

    本文针对JavaScript中三个重要的函数方法——call、apply和bind,进行详尽的分析,并在文章的结尾部分对这三个方法之间的联系和区别进行了概括,以便于读者更深入地理解它们的用途和应用场景。 首先,我们来探讨...

    js中call与apply的用法小结.docx

    在JavaScript中,`call`和`apply`是两个非常重要的函数,它们都允许开发者改变函数执行时的上下文,即`this`的指向。这两个方法主要用于实现函数的绑定和继承,以及处理数组或类数组对象。 首先,我们来看`call`的...

    javascript中apply、call和bind的用法区分_.docx

    ### JavaScript中apply、call和bind的用法区分 在JavaScript编程中,`apply`、`call`和`bind`这三个方法被广泛用于改变函数内部`this`的指向,这对于理解和编写复杂的JavaScript代码至关重要。虽然它们的功能相似,...

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

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

Global site tag (gtag.js) - Google Analytics