前端学习笔记(19)之call()、apply()、bind()的三个方法的区别

call()

语法:
fn.call()
obj.fn.call()
参数:
第一个参数, 就是函数内部的 this 指向
第二个参数开始, 依次给函数传递参数
特点:
会立即执行函数(不适合用作定时器处理函数或者事件处理函数)
作用:
伪数组借用数组方法

apply()

语法:
fn.apply()
obj.fn.apply()
参数:
第一个参数, 就是函数内部的 this 指向
第二个参数: 是一个数组或者伪数组都行, 里面的每一项依次给函数传递参数
特点:
会立即执行函数
作用: 可以以数组的形式给某些功能函数传参
比如Math.max()

bind()

使用方法, 就直接连接再函数名后面使用
语法:
fn.apply()
obj.fn.apply()
参数:
第一个参数. 就是函数内部的 this 指向
从第二个参数开始, 依次给函数传递参数
特点:
不会立即调用函数
会返回一个新的函数, 一个已经被改变好 this 指向的函数
作用:
改变事件处理函数或者定时器处理函数的 this 指向

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值