`
sohighthesky
  • 浏览: 34744 次
  • 性别: 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方法的详解与总结

    本文主要Javascript中call,apply,bind方法的进行全面分析,并在文章结尾对call,apply,bind方法的联系和区别做了总结,具有很好的参考价值,需要的朋友一起来看下吧

    Javascript 中的 call 和 apply使用介绍

    简单的说就是改变函数执行的上下文,... 这两个方法通常被用来类的继承和回调函数: 作用一、类的继承: 先来看这个例子: 代码如下: function Person(name,age){ this.name = name; this.age=age; this.alertName = f

    js中apply与call简单用法详解

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

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

    一、call(),apply(),bind()方法 JavaScript 中通过call或者apply用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。简单的说就是改变函数...先来看看JS手册中对c

    javascript中apply/call和bind的使用

    本文主要介绍了javascript中apply/call和bind的使用。具有很好的参考价值,下面跟着小编一起来看下吧

    JavaScript中的call和apply的用途以及区别

    本文主要介绍了JavaScript中的call和apply的用途以及区别。具有很好的参考价值,下面跟着小编一起来看下吧

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

    在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢。 在说区别之前还是先总结一下三者的相似之处: 1、都是用来改变函数的this对象的指向的。 2、第一个参数都是this要指向的对象。 3、都...

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

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

    Js apply方法详解

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

    实例分析javascript中的call()和apply()方法

    因项目需求去研究了下javascript中的call和apply方法,去百度看了几篇介绍JS中call和apply的文章,总觉得不是很好懂,这里写下我自己的理解,供网友们参考。

    JavaScript中的apply和call函数详解

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

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

    call和apply都是为了改变某个函数运行的context上下文而存在的,即为了改变函数体内部this的指向。因为JavaScript的函数存在定义上下文和运行时上下文以及上下文是可以改变的概念。 回到目录定义 fun.apply(thisArg...

    javascript中call,apply,bind的用法对比分析

    关于call,apply,bind这三个函数的用法,是学习javascript这门语言无法越过的知识点。下边我就来好好总结一下它们三者各自的用法,及常见的应用场景。 首先看call这个函数,可以理解成”借用“,”请求”。想像一下...

    理解Javascript的call、apply

    call 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法. 注意:该函数的语法与 apply() 方法的语法几乎完全相同,唯一的区别在于,apply()方法接受的是一个参数数组,而 call()方法接受的...

    Javascript中call与apply的学习笔记

    注:该方法的作用和 apply() 方法类似,只有一个区别,就是call()方法接受的是若干个参数的列表,而apply()方法接受的是一个包含多个参数的数组。 语法 fun.call(thisArg[, arg1[, arg2[, ...]]]) 参数 thisArg 在...

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

    下面小编就为大家带来一篇深入理解JavaScript中的call、apply、bind方法的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    有关JavaScript中call()和apply() 的一些理解

    下面小编就为大家带来一篇有关JavaScript中call()和apply() 的一些理解。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

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

Global site tag (gtag.js) - Google Analytics