回答
的explanation on quirksmode.org可能是一个良好的开端。
还有一个nice answer by Alan Storm这里在stackoverflow。
+1为链接到艾伦风暴的解释。 – johnhunter 2011-03-11 09:42:48
非常感谢你们,非常有用! – 2011-03-12 18:36:00
JavaScript中的this
变量与任何其他语言一样,指的是当前对象。 例如:
document.getElementById('link1').onclick = function()
{
this.href = 'http://google.com';
}
在onclick处理程序,这将是指你的ID得到了一个DOMElement。
这是对我们在功能或范围的当前所有者的参考
您可以在这里找到更多信息。http://www.quirksmode.org/js/this.html
在JavaScript中这始终是指功能的“所有者”我们正在执行,或者说,正在执行一个函数是一个方法的对象。
查看下面的链接了解更多解释。
http://www.quirksmode.org/js/this.html
宽泛地说,它代表了什么是点的左侧,当你调用该函数:
// inside of f, this = x
x.f(1, 2, 3)
// inside of f, this = c
a.b.c.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)
- 1. 说明使用类变量?
- 2. JavaScript变量声明
- 3. Java:变量访问说明符
- 4. 重写变量Java继承的说明
- 5. Php会话变量销毁此说明
- 6. 静态变量存储说明
- 7. javascript实例说明
- 8. Javascript记忆说明?
- 9. Javascript变量声明问题
- 10. JavaScript的变量声明
- 11. 高效声明JavaScript变量
- 12. JavaScript变量变得不明确
- 13. Python在JavaScript上? (请说明)
- 14. 说明在循环的JavaScript
- 15. JavaScript中[] .slice.call的说明?
- 16. Javascript代码功能说明
- 17. Javascript事件循环说明
- 18. JavaScript数学代码说明
- 19. JavaScript内存泄漏说明
- 20. 画架JavaScript结构说明
- 21. javascript中没有说明
- 22. 变化JSON提示说明
- 23. 编码说明:在JavaScript中按位或字符设置的变量
- 24. JavaScript变量声明的不同方法
- 25. 声明多个变量在JavaScript
- 26. javascript函数范围,变量声明
- 27. 如何在javascript中声明变量
- 28. 如果声明里面的javascript变量
- 29. 在Javascript函数中声明变量
- 30. 声明中,而条件变量在JavaScript
从创建者Brendan Eich自己那里获取; http://www.amiutewithbrendan.com/pages/20110303 – 2011-03-11 09:59:19