Javascript中“this”关键字的目的是什么?

What is the purpose of 'this' keyword in Javascript

本文关键字:是什么 关键字 this Javascript      更新时间:2023-09-26

与其他语言不同,在JavaScript中,this总是指我们正在执行的函数的"所有者",或者更确切地说,是指函数作为方法的对象。

与其他语言相比,这种行为的优势/目的是什么?

由于您可以设置"this",因此您可以设置调用的任何函数的范围,从而允许您使用函数闭包做一些有趣的事情。这就是大多数JS框架允许你做更自然的面向对象的类行为的方式。当您有事件侦听器并希望设置侦听函数的范围时,这尤其有用。

  • 默认情况下,这是指全局对象。
  • 当函数作为父对象的属性调用时,这是指该函数内的父对象。
  • 当使用 new 运算符调用函数时,这是指该函数内新创建的对象。
  • 当使用 call 或 apply
  • 调用函数时,这是指传递给 call 或 apply 的第一个参数。如果第一个参数为 null 或不是对象,则引用全局对象。

取自 http://unschooled.org/2012/03/understanding-javascript-this/

还要研究一下。

http://javascriptplayground.com/blog/2012/04/javascript-variable-scope-this