this


this

这篇总结主要讲解了this指向与如何修改

this指向

1.普通函数                指向window
2.对象的方法              该方法所属对象
3.构造函数                实例对象
4.事件绑定函数            绑定事件的对象
5.定时器函数              指向window
6.立即执行函数            指向window

函数上下文

局部变量+this指向
默认情况下,函数内部的this是由调用决定的。无法修改
解决办法函数上下文进行修改

call
语法:函数名.call(this指向谁,实参1,实参2......)
应用场景:万能数据类型检测

1.typeof 数据 : 有两种数据类型无法检测
null和数组无法检测,结果都是 ‘object’
2.解决方案:万能数据类型检测
Object.prototype.toString.call(数据)

数组原型的toString是转字符串的
Object原型的toString是检测数据类型的

apply
函数名.apply(this指向谁, 数组或伪数组 )
apply会自动帮你遍历数组,然后按照顺序逐一传参
函数名.apply(this指向谁, [实参1,实参2…..])
bind
语法:函数名.bind(this指向谁)
bind不会立即执行函数,而是返回一个修改this之后的新函数
场景:一般用于修改不需要立即执行的函数,例如:定时器,事件处理函数


文章作者: 冷杨威
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 冷杨威 !
  目录
-->