this指向问题以及改变this指向的三个方法

this指向

1.在方法中,this表示该方法所属的对象

2.若单独使用,this表示全局对象

3.在函数中,this表示全局变量

4.在事件中,this表示接受事件的元素

关键点

1.this永远指向一个对象

2.this的指向完全取决于函数调用的位置

改变this指向

1.call() 方法
函数名称.call(obj,arg1,arg2…argN);
参数说明:
obj:函数内this要指向的对象,
arg1,arg2…argN :参数列表,参数与参数之间使用一个逗号隔开

2.apply() 方法

与call方法不同的是 apply方法传入的第二个参数是数组

  • 对于 apply、call 二者而言,作用完全一样,只是接受参数的方式不一样。

3.bind() 方法

bind方法 与以上方法不同的是, 它不是一个立即执行的方法, 返回一个函数

  • bind()的作用与call()和apply()一样,都是可以改变函数运行时上下文,区别是call()和apply()在调用函数之后会立即执行,而bind()方法调用并改变函数运行时上下文后,返回一个新的函数,供我们需要时再调用。

猜你喜欢

转载自blog.csdn.net/m0_46893049/article/details/125757772