`
sohighthesky
  • 浏览: 36057 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

看看你掌握了js的call和apply没?

阅读更多
群里出了个题:
下面弹出的结果是什么 ?
var a = Function.prototype.call.apply(function (a) {return a}, [0,4,3])
alert(a)


滚动条到底部查看结果



































相关链接:关于callapply

结果 是4,下面是过程:

先执行apply方法,然后就相当于构造了下面的方法
var b = (function(a) {alert(this);//0
    return a;
}).call(0, 4, 3);
alert(b)


相关应用:
//巧妙利用Function.prototype.call.apply实现结合函数
var call = Function.prototype.call;
var mixin = function (that){
    for (var k in that)
        this[k] = that[k];
    return arguments.length == 1 ? 
        this : call.apply(arguments.callee, arguments);
};

0
0
分享到:
评论

相关推荐

    浅谈javascript中的call、apply、bind_.docx

    JavaScript 中的 call、apply、bind 方法详解 JavaScript 中的 call、apply、bind 方法是 Function 对象自带的三个方法,这三个方法的主要作用是转变函数中的 this 指向,从而可以达到“接花移木”的效果。下面将对...

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

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

    javascript call和apply方法

    理解并熟练掌握`call`和`apply`方法是JavaScript进阶开发的关键,它们对于理解和操作对象、处理函数调用以及实现高级编程技巧至关重要。在日常开发中,正确使用这些方法可以帮助我们编写更加灵活和可维护的代码。

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

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

    js中apply与call简单用法详解

    call和apply是为了动态改变this而出现的,当一个object没有某个方法,但是其他的有,我们可以借助call或apply用其它对象的方法来操作。 call, apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现...

    从JQuery源码分析JavaScript函数的apply方法与call方法

    总而言之,深入学习和掌握apply和call方法,对于每一位JavaScript开发者来说都是非常必要的。这不仅能够加深对JavaScript函数执行上下文的理解,还能在实际编程中发挥巨大的作用,提高代码质量和开发效率。通过分析...

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

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

    javascript中call和apply方法浅谈

    在JavaScript中,`call`和`apply`是两种非常重要的函数调用方式,它们都用于改变函数内部`this`的指向,从而实现方法的灵活应用。`this`关键字在JavaScript中通常代表当前执行上下文的对象,而在使用`call`或`apply`...

    javascript中call和apply的用法示例分析

    除了改变函数上下文和传递参数之外,`call`和`apply`方法还常用于实现JavaScript的继承。在上述代码中,`Student`类继承了`Persion`类的构造函数,通过使用`Persion.call(this, name)`来调用父类构造函数,并将`...

    浅谈javascript中的call、apply、bind

    JavaScript中的call、apply和bind方法是Function对象自带的三个用于改变函数this指向的关键方法。理解这些方法有助于我们更好地掌握函数式编程和面向对象编程的高级技巧。 首先,我们来了解call方法。call方法可以...

    Function.prototype.call.apply结合用法分析示例

    在JavaScript中,`Function.prototype.call` 和 `Function.prototype.apply` 是两种非常重要的方法,它们都是用来改变函数调用时的上下文(即`this`值)以及传递参数。在这个特殊的面试题中,这两种方法被结合在一起...

    JS中call/apply、arguments、undefined/null方法详解

    在JavaScript中,`call`和`apply`是两种非常重要的函数调用方式,它们都用于改变函数执行时的上下文环境,即`this`的指向。这两种方法的主要区别在于传递参数的方式。 `call`方法的语法是:`call([thisObj[, arg1[,...

    彻底搞懂JavaScript中的apply和call方法(必看)

    JavaScript中的`apply`和`call`方法是两个非常重要的函数调用方式,它们的主要作用是改变函数执行时的上下文,即`this`的指向。这是因为JavaScript中的函数可以在不同的上下文中运行,`this`的值在运行时可以被动态...

    深入理解JavaScript中的call、apply、bind方法的区别

    call、apply和bind是JavaScript中用于改变函数内部this指向的三个方法。虽然它们的作用都是为了改变函数的上下文,但它们在使用方式和用途上存在一些差异。 首先,我们来看call方法。call方法的第一个参数是作为...

    玩转方法:call和apply

    在JavaScript中,`call` 和 `apply` 是两种非常重要的函数调用方式,它们都是在Function对象的原型上定义的,允许我们改变函数调用时的上下文(即`this`值)以及传递参数。这两种方法的核心作用在于实现函数的动态...

    JavaScript学习点滴 call、apply的区别

    在JavaScript编程中,call和apply是两个非常重要的方法,它们都用于函数调用上下文的改变。这两个方法的主要用途是可以在特定的作用域中调用函数,允许传递给函数的参数,同时也可以通过它们实现继承和多态等面向...

    JS中call()和apply()的功能及用法实例分析

    本文实例讲述了JS中call()和apply()的功能及用法。分享给大家供大家参考,具体如下: 1.call()和apply()的作用 首先引出问题:用call()和apply()的目的是什么? 来看个例子,在javascript OOP中,我们经常会这样...

    Js apply方法详解

    我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享.. 如有什么不对的或者说法不...

    JavaScript中的apply和call函数详解

    Function.apply and Function.call in JavaScript 第一段略。 每个JavaScript函数都会有很多附属的(attached)方法,包括toString()、call()以及apply()。听起来,你是否会感到奇怪,一个函数可能会有属于它自己的...

    javascript下arguments,caller,callee,call,apply示例及理解

    JavaScript中arguments、caller、callee、call和apply是与函数相关的几个重要概念和对象。它们为JavaScript的函数提供了非常灵活的功能,特别是...理解和掌握它们能够帮助开发者更好地编写灵活、强大的JavaScript代码。

Global site tag (gtag.js) - Google Analytics