函数this指向

函数中this指向问题
函数中this的指向是在函数调用的时候确定的。

  • 普通函数的调用,this指向window
  • 构造函数调用,this指向实例对象
  • 原型对象中的方法调用,--> 实例对象
  • 对象方法调用, 对象本身
  • 事件绑定方法, 绑定事件对象
  • 定时器函数, window
  • 立即执行函数, window

this的指向可以改变
call(),apply(),bind(),都可以改变this的指向。
区别:

  • call会调用函数,主要作用于构造函数的继承
  • apply会调用函数,与call的区别是,第二个参数是数组
  • bind不会调用函数,参数与call相同,bind会返回原函数改变指向后的新函数,应用于需要改变this指向,但是并不立即执行的情况。
// 因为apply第二个参数必须是数组格式,我们可以利用这个特性去处理数组
var arr = [1,23,25,69,65,24];
Math.max(1,23,25,69,65,24);  // 69
// 一些数组的处理可以考虑用apply,apply将参数数组转为字符串
Math.max.apply(null,arr);  // 69
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容