function Person() {}Person.prototype.name = 'Nicholas';const p1 = new Person();console.log(p1.name); // Nicholasp1.name = 'Greg';console.log(p1.__proto__.name); // Nicholas// 為什么上面輸出不是 'Greg'代碼如上。name屬性是在構(gòu)造函數(shù)Person的原型上的。當我實例化p1時,修改了name的值,因為p1實例本身沒有name屬性,所以就會去原型上找。而p1實例對原型是一種引用,所以按照正常邏輯,不應(yīng)該原型上的name屬性也會被修改嗎?
JS構(gòu)造函數(shù)原型問題
慕哥9229398
2019-03-12 17:13:25