this指向以及改变指向(call、applay和bind的区别)

一、this的指向

▲this用来标明代码到底在哪里执行
▲不管在什么情况下,this总是返回一个对象。
在这里插入图片描述

二、改变this指向

▲this的动态切换固然灵活,但也使编程变得困难和模糊。在某些情况下需要把this固定下来,避免出现意外情况。javaScript提供 了三种方法来切换/固定this指向:callapplaybind
1、call()方法和apply方法的作用相同,但接受参数的方式不同。
call()方法:传递给函数的参数必须逐个例举出来。
apply()方法:接受两个参数,一个是其中运行函数的作用域,另一个是参数数组(array实例或 argument对象)
△使用call()还是apply()取决于采用哪种给函数传参的方式更方便。
2、bind()方法会返回一个新的函数,其方法的参数就是所要绑定this的对象
3、call/apply和bind区别
call/apply:改变了函数的this上下文后马上执行该函数,返回函数的执行结果
bind:返回改变了上下文后的函数,不执行该函数,返回函数的拷贝,并指定了函数的this指向,保存了函数的参数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值