假设我创建了一个名为 Person 的类。
var Person = function(fname){this.fname = fname;};
pObj 是我从此类创建的对象。
var pObj = new Person('top');
现在我向 Person 类添加一个属性,例如 lname。
Person.prototype.lname = "Thomsom";
现在 pObj.lname 让我得到“Thomson”。
我的问题是,当 pObj 没有在其中找到属性 lname 时,它如何知道去哪里寻找。
最佳答案
这与 javascript 引擎解析引用的方式有关。 它将从本地变量对象(绑定(bind)到范围)开始,然后沿着原型(prototype)链“行走”,直到找到它或到达顶部。
您可以在此处详细了解此内容 http://dmitrysoshnikov.com/ecmascript/chapter-4-scope-chain/
关于javascript - javascript中一个对象如何知道它的父对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2833453/