非常简单的问题......
想知道什么
“this”变量代表javascript ... 感谢
答案 0 :(得分:1)
explanation on quirksmode.org可能是一个好的开始。
stackoverflow上还有一个nice answer by Alan Storm。
答案 1 :(得分: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)
答案 2 :(得分:0)
javascript中的this
变量与任何其他语言一样,指的是当前对象。
例如:
document.getElementById('link1').onclick = function()
{
this.href = 'http://google.com';
}
在onclick处理程序中,这将引用你通过id获得的DOMElement。
答案 3 :(得分:0)
它是对我们所处的功能或范围的当前所有者的引用。
您可以在此处找到更多信息:http://www.quirksmode.org/js/this.html
答案 4 :(得分:0)
在JavaScript中,这总是指我们正在执行的函数的“所有者”,或者更确切地说,指向函数是其方法的对象。
有关详细说明,请查看以下链接
http://www.quirksmode.org/js/this.html