我有兩個函數,我用作類:Person
和Eye
。 Person
本身創建一個Eye
對象。稍後,我嘗試訪問創建的眼睛對象,每當用戶點擊網頁時都會有一個事件處理程序。使用事件處理程序無法訪問對象內的對象
function Eye(){
this.color="Green";
}
function Person() {
this.name="John";
this.eye = new Eye();
//eye=this.eye; // uncomment and everything works!
document.addEventListener("click", function(){
console.log(name); // This works
console.log(eye); // This doesn't work
})
}
var person= new Person();
爲什麼不工作?做第二個變量eye
似乎解決了這個問題,但我不知道爲什麼..
* 「撥打第二個變量'eye'似乎解決了問題,但我不知道爲什麼。」 *:由於與你正在創建一個全局變量。 – 2013-04-06 16:38:45
No.' this'是一個對象,它在那時只存在於函數內部,而'eye'是該對象的一個屬性。 'this'是JavaScript中的一個特殊變量,請查看MDN文檔:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/this。 – 2013-04-06 16:53:17