我有一段修改過的代碼,來自在線來源,討論原型繼承。在Javascript中使用原型繼承
var myObj = function() {}; // start w a regular func
myObj.prototype.a = 1; // attach properties to property
myObj.prototype.b = 2;
console.log('myObj dir a is: ' + myObj.a); // undefined
var myRealObj = new myObj();
console.log('my real obj a is: ' + myRealObj.a); // works
我的一點混淆是第一個日誌語句,其中a是未定義的。即使它在原型鏈上方,它的功能是否應該不走鏈?當我使用new來創建對象時,爲什麼它會工作?
謝謝!
你爲什麼想到'myObj.prototype.a'是同樣的事情'myObj.a'?他們不是。原型是這樣的例子,而不是構造函數。 – Xufox
不要混淆構造函數的'.prototype'屬性和它的原型鏈。 – Bergi