Javascript变量解释

时间:2011-03-11 09:09:12

标签: javascript

非常简单的问题......

想知道什么

“this”变量代表javascript ... 感谢

5 个答案:

答案 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