call和apply都是为了改变某个函数运行时的上下文而存在的(也就是改变函数的this指向);

如果使用call/apply,那么this指向的是第一个参数,apply的第二个参数是一个参数数组,call的第二个及其以后的参数都是数组里面的元素,就是说要全部列举出来;

看到一个比较形象的表达方式:

foo.call(this,arg1,arg2,arg3) == foo.apply(this, arguments)==this.foo(arg1, arg2, arg3)

call、apply、bind的联系和区别相关推荐

  1. call apply bind 的作用和区别

    1.call apply bind 的作用和区别 作用: 都可以改变函数内部的this指向. 区别点: 1.call和apply会调用函数,并且改变函数内部this指向. 2.call和apply传递 ...

  2. call(),apply(),bind()的用法及举例

    通过学习call(),apply(),bind()的用法和区别,我们能更好的理解this及作用域的含义,为后面的编程打下基础. call()的用法: 调用一个函数,使其具有一个指定的this值和分别地 ...

  3. call,apply,bind的用法与区别

    1.call/apply/bind方法的来源 首先,在使用call,apply,bind方法时,我们有必要知道这三个方法究竟是来自哪里?为什么可以使用的到这三个方法? call,apply,bind这 ...

  4. JavaScript的call,apply和bind方法之间的区别

    by Rajat Saxena 通过拉贾特·萨克森纳(Rajat Saxena) JavaScript的call,apply和bind方法之间的区别 (The difference between J ...

  5. JavaScript中的call,apply,bind区别及应用(包含手写call/apply/bind)

    目录 一.使用目的 二.三者分别是如何定义的及区别(摘自MDN) 三.在程序中收获 四.三者的具体应用 四.手写bind,apply,call 今天在读程序题的时候,遇到call,apply,bind ...

  6. call,apply,bind,new实现原理

    在实际开发过程中,对于函数封装时,不确定外部是谁调用的,调用函数内部方法时,有可能是window调用这时就会报错,常使用call,apply,bind来绑定this指向. Function.proto ...

  7. JavaScript内置一些方法的实现原理--new关键字,call/apply/bind方法--前戏

    new关键字,call/apply/bind方法都和this的绑定有关,在学习之前,首先要理解this. 一起来学习一下this吧 首先.this是一个对象. 对象很好理解,引用类型值,可以实现如th ...

  8. 复习javascript中call,apply,bind的用法

    一直很难理解js中的call apply bind,在w3schools,mdn阅读了,也看了很多相关的文章,今天我来写下我理解的call apply bind 首先创建一个函数 function m ...

  9. JavaScript中的call,apply,bind学习总结

    JavaScript 中的 call, apply, bind 这三个函数的作用和区别在各大论坛都被讨论了很多次了,但是我一直都还没来得及好好总结,这次正好看到了一个很不错的关于JavaScript ...

  10. 50行javaScript代码实现简单版的 call , apply ,bind 【中级前端面试基础必备】

    在实现自己的call,apply,bind前,需要复习一下this. ###所谓的this其实可以理解成一根指针: 其实 this 的指向,始终坚持一个原理:this 永远指向最后调用它的那个对象,这 ...

最新文章

  1. 刻意练习:LeetCode实战 -- Task19. 相同的树
  2. angular生命周期钩子ngOnChanges-父组件使子组件输入属性值变化时触发
  3. 命令行下升级pip版本
  4. java京东左侧固定层_京东首页右侧固定层
  5. com.alibaba.excel.exception.ExcelAnalysisException: java.lang.NoClassDefFoundError: org/apache/poi/p
  6. filestorage 修改吧部分数据_数据库系统概论课后答案||第五版
  7. (九)演员-评论员算法
  8. 金兄的境界:我的名字搜索终于出来了。重要信息声明,并永久置顶。我的博客在零网zeronet...
  9. MySQL的安装,Python开发人员
  10. Python-07:Python语法基础-数据类型
  11. dbnetlib不存在或拒绝访问_idou老师教你学Istio 16:如何用 Istio 实现微服务间的访问控制...
  12. 自己学Docker:4.開始了解Docker的工作模式
  13. 300.最长上升子序列
  14. OCCT培训笔记(刘星讲)--第1天
  15. 对Shortcut使用的理解
  16. 转:彻底搞懂Android文件存储---内部存储,外部存储以及各种存储路径解惑
  17. 事业单位计算机操作专业技术分析面试题,事业单位面试:历年面试试题解析(四)...
  18. Python GDAL工具使用及使用VRT格式数据处理
  19. Caché程序员必须知道符号与缩写 第二章 ObjectScript中使用的缩写
  20. pandaboard es 制作SD启动卡OMAP4460

热门文章

  1. linux aslr 关闭代码,Linux/ARM 禁用ASLR安全的代码[网络技术]
  2. python百度ai文字识别、不精确、进行处理_基于百度AI的文字识别-Python
  3. Android SurfaceView实战 带你玩转flabby bird
  4. kvm桥接网络配置linux,KVM 虚拟机网卡桥接网络配置
  5. html弹出窗口是浮动,JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
  6. 基于粒子群算法的混合储能容量配置matlab 以风光互补发电储能系统为背景,以年运行成本最低为目标
  7. linux下4k对齐,linux查看硬盘4K对齐方法
  8. w7计算机没有本地用户名和密码,解决方法:如何在不输入用户名和密码的情况下设置win7共享...
  9. 51单片机学习记录(五)矩阵按键
  10. anaconda清理