apply和call两种调用方式中的this指向,表现出来的特征就是:对象可以‘借用’其他对象的方法

obj对象有一个方法fn,obj1想借用obj的方法fn,可以用obj.fn.apply(obj1)

1、apply

在使用apply方式使用一个函数时

第1个参数为thisObject,调用时采用传入的thisObject代替函数体中this的指向

第2个参数传入一个数组,函数会用数组的值取代"参数列表"

如果第一个传入的参数是null,那么,在函数体内的this会指向全局对象,在浏览器中就是window

2、call

call方式和apply方式的差别主要体现在传入的形式参数的不一样

当采用call调用的时候

第1个参数传入thisObject

第2个参数以及后面的参数组成'实参列表'传递给函数。

3、bind

和call很相似

第一个参数是this的指向

从第二个参数开始是接收的参数列表

区别在于bind方法返回值是函数以及bind接收的参数列表的使用。call 是把第二个及以后的参数作为 fn 方法的实参传进去,而 fn1 方法的实参实则是在 bind 中参数的基础上再往后排。

bind 方法不会立即执行,而是返回一个改变了上下文 this 后的函数。

原文链接:https://blog.csdn.net/Lee_taotao/article/details/105364159

python中bind的用法_JS中的apply、call和bind的用法和区别相关推荐

  1. Kotlin 标准库中run、let、also、apply、with函数的用法和区别

    run 函数 定义: inline fun <R> run(block: () -> R): R //1 Calls the specified function block and ...

  2. mysql中去重的用法_mysql中去重 distinct 用法

    在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count( ...

  3. python中bind的用法_Javascript中bind()方法的使用与实现

    在讨论bind()方法之前我们先来看一道题目: javascriptvar altwrite = document.write; altwrite("hello"); //1.以上 ...

  4. python 字典定义日志用法_python中字典(Dictionary)用法实例详解

    本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...

  5. python中max函数用法_Python中max函数用法实例分析

    Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...

  6. python中print的用法_Python中print函数简单使用总结

    Python中print函数简单使用总结 print函数是Python的入门,每一个学习python的人都绕不开这个函数,下面介绍一下这个函数的用法. 打开电脑,选择python软件,下面选择pyth ...

  7. python常用函数的用法_python中常用函数整理

    1.map map是python内置的高阶函数,它接收一个函数和一个列表,函数依次作用在列表的每个元素上,返回一个可迭代map对象. class map(object):""&qu ...

  8. python中lambda()的用法_python中lambda()的用法

    在C++11和C#中都有匿名函数的存在.下面看看在python中匿名函数的使用. 1.lambda只是一个表达式,函数体比def简单很多. 2.lambda的主体是一个表达式,而不是一个代码块.仅仅能 ...

  9. [转载] python里字典的用法_python中字典(Dictionary)用法实例详解

    参考链接: Python字典dictionary copy方法 本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映 ...

最新文章

  1. 大数据计算引擎发展的四个阶段
  2. 别再说你不会!自学java教程百度云
  3. JS无法获取display为none的隐藏元素的宽度和高度的解决方案
  4. 教育类产品如何快速建立师生关联关系?
  5. C/C++调用Fortran的使用说明
  6. ORA-29786: SIHA attribute GET failed with error
  7. 【asp.net Core MVC + angular6实战】 - 1. 环境搭建
  8. 服务器ip算是虚拟资产吗,云服务器算资产吗
  9. rf接口自动化之结果校验
  10. 微软推送补丁的服务器叫什么,即将大规模推送: 微软介绍KB4023057易升补丁相关功能...
  11. 计算机硬件设备论文题目,计算机硬件维护论文题目大全 计算机硬件维护论文题目选什么比较好...
  12. 电力行业巡检对讲通信系统
  13. 《如何让你爱的人爱上你》第一部分:第一印象
  14. 微信公众号前端支付实现
  15. Win10 磁盘被写保护 请去掉写保护或使用另一张磁盘
  16. Python——集合运算
  17. Kronecker积
  18. mysql联合索引和索引优化的理解
  19. 英特尔将调整上网本策略:推199美元MeeGo机型
  20. ubuntu的bash参考手册

热门文章

  1. android“设置”里的版本号
  2. WinCE流驱动加载的控制
  3. Android系统架构基本模式解析
  4. 一地鸡毛 OR 绝地反击,2019年区块链发展指南
  5. NEO智能合约黑盒测试框架
  6. 如何提高数据安全性与可用性——行云管家堡垒机
  7. es6的Proxy(代理)
  8. 《精通 ASP.NET MVC 5》----1.8 本书所需的软件
  9. RH5.4下安装samba服务器(1)
  10. (转载)Google Analytics(Google分析)使用技巧