JavaScript 中的 `this` 指向:函数调用时它究竟指向什么?

javascript 中的 `this` 指向:函数调用时它究竟指向什么?

this在js函数中的作用

在javascript中,this关键字指向函数执行时的当前上下文对象。它在不同的情况下可能指向不同的对象,例如:

  • 作为方法:指向调用它的对象。
  • 作为独立函数:指向全局对象(在浏览器中通常为window对象)。

对于给定的示例函数:

function f() {
  alert($(this).attr('id'));
}

this指向值取决于函数的调用方式。如果直接调用(f()),this将指向全局对象,而不是点击元素。

立即学习“Java免费学习笔记(深入)”;

控制this指向

为了控制this指向,可以通过以下两种方式:

1. 显式传递事件源

在调用函数时,可以显式地将事件源作为参数传递给函数。这确保this始终指向预期的元素。

f(this);

2. 使用事件绑定

通过事件绑定,可以在事件触发时设置this指向的值。例如,使用jquery绑定点击事件

$('.xx').on('click', function() {
  $(this).attr('id');
});

这样,this将始终指向被点击的元素。

以上就是JavaScript 中的 `this` 指向:函数调用时它究竟指向什么?的详细内容,更多请关注其它相关文章!