Javascript变量解释

问题描述 投票:0回答:5

非常简单的问题...

想知道什么

“this”变量在 JavaScript 中表示... 谢谢

javascript this
5个回答
1
投票

quirksmode.org 上的解释可能是一个好的开始。

在 stackoverflow 上还有一个 Alan Storm 的很好的答案。


1
投票

宽松地说,它代表调用函数时点左边的内容:

// inside of f, this = x
x.f(1, 2, 3)

// inside of f, this = c 
a.b.c.f(1, 2, 3) 

该规则有许多例外情况。

首先,如果你没有点:

// inside of f, this = the global object ("window", if you're in a browser environment)
f(1, 2, 3)

其次,您可以使用方法

call
和/或
apply
显式设置
this
的值:

// Invokes f with this = myVar, not x (arguments 2 an onward are the ordinary arguments)
x.f.call(myVar, 1, 2, 3)

// Invokes f with this = myVar, not x (arguments are passed as an array)
x.f.apply(myVar, [1, 2, 3])

第三,当您使用

new
调用函数时,
this
将引用新创建的对象:

// inside of f, this = a new object, not x
new x.f(1, 2, 3)

0
投票
与任何其他语言一样,JavaScript 中的

this

 变量指的是当前对象。
例如:

document.getElementById('link1').onclick = function() { this.href = 'http://google.com'; }

在 onclick 处理程序中,this 将引用您通过 id 获取的 DOMElement。


0
投票
它是对我们所在函数或作用域的当前所有者的引用。

您可以在这里找到更多信息:

http://www.quirksmode.org/js/this.html


0
投票
在 JavaScript 中,this 始终指代我们正在执行的函数的“所有者”,或者更确切地说,指代函数所属的对象。

检查以下链接以获取更多说明。

http://www.quirksmode.org/js/this.html

© www.soinside.com 2019 - 2024. All rights reserved.