裏面我有一個程序爲:的價值「這個」功能
$(document).ready(function() {
this.name = "John";
var someFunc = function()
{
return this.name;
}
});
從我的理解,價值「這」在someFunc
是「窗口」,因爲它不以任何包含目的。
我的問題是爲什麼'this
'的值是'HtmlDocument
'在$(document).ready(function() { alert(this) }
?
而且由於someFunc
不在$(document).ready
函數爲什麼它的值不是'HtmlDocument
'? 在現場發生的事情是什麼導致這個值在不同情況下有所不同?
'this'的值取決於函數的調用方式。如果在沒有任何上下文的情況下調用方法,則this指向窗口。 – Rayon
要回答你的第一個問題,在jQuery中,處理程序/回調函數中的'this'上下文是指調用哪個方法的元素,因此'document'正在由'this'持有[ – Rayon
[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this) –