老师,关于bind的应用场景

老师,关于bind的应用场景

bind在实际开发中有什么应用场景

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,和call作用一样,通常用于改变this指向。不过bind方法返回值是一个函数,不像call方法可以直接调用。例如:

https://img1.sycdn.imooc.com//climg/6305900e0938893206110276.jpg

定时器中的this指向window,所以输出的是全局下的uname变量值xx

https://img1.sycdn.imooc.com//climg/6305900409e5140402910035.jpg

用bind修改后

https://img1.sycdn.imooc.com//climg/6305904d09cd5ed105640268.jpg

将定时器中的回调用bind方法绑定后,this指向实例化的对象

https://img1.sycdn.imooc.com//climg/630590570951028302950025.jpg

祝学习愉快!

  • 精慕门5305869 提问者 #1

    老师,看看这样注释对不?

    https://img1.sycdn.imooc.com//climg/6305994d0996c75a04970235.jpg

    2022-08-24 11:21:52
  • 好帮手慕星星 回复 提问者 精慕门5305869 #2

    注释不完全对。不管有没有bind绑定,this.uname与this.say中的this都指向实例。

    1、没有bind绑定,只有定时器中的this指向window

    https://img1.sycdn.imooc.com//climg/6305d902095e139906940299.jpg

    https://img1.sycdn.imooc.com//climg/6305d90909c4d56610250065.jpg

    2、用bind绑定,定时器中的this会指向实例

    https://img1.sycdn.imooc.com//climg/6305d92f099a328a05670221.jpg

    https://img1.sycdn.imooc.com//climg/6305d928098e184b06650061.jpg

    自己可以测试下。

    2022-08-24 15:54:55
  • 精慕门5305869 提问者 回复 好帮手慕星星 #3

    好的,谢谢老师

    2022-08-24 16:01:32
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师