簡體   English   中英

“原型”對象如何訪問“ this”的新創建對象?

[英]How does the 'prototype' object have access to the newly created object for 'this'?

var Person = function() {
    this.name = "Jay";
}

Person.prototype.getName = function() {
    return this.name;
}

var jay = new Person();
console.log(jay.getName()); // Jay
console.log(Person.prototype); // { getName: [Function] }

當我調用new Person()我認為它會將jay's內部[[prototype]]屬性設置為Person.prototype對象。 因此,我了解到,當我嘗試訪問不存在的屬性(如getName ,它將檢查對象的[[prototype]] ,即getName的Person.prototype 如果我錯了,請糾正我。

我感到困惑的是如何Person.prototype目標是能夠訪問jaythis 據我了解, this是指調用該方法的對象,它是Person.prototype而不是jay ,並且此對象不具有name屬性。

您將“定義方法的位置”與“執行該方法的對象”混淆了。 它在Person.prototype上定義 ,但是在該特定對象上調用該方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM