關于propotype的問題
var a=new Object(){ a.x=1; a.prototype.y=2;} var b = Object.create(a) 假如這樣的話。B的原型指向a,a的原型里面有x這個值,那么a的x繼承給了b很正常,問題來了,b有沒有繼承到y(tǒng)這個值?
var a=new Object(){ a.x=1; a.prototype.y=2;} var b = Object.create(a) 假如這樣的話。B的原型指向a,a的原型里面有x這個值,那么a的x繼承給了b很正常,問題來了,b有沒有繼承到y(tǒng)這個值?
2016-04-23
舉報
2016-04-23
第一、prototype是一個構造函數的屬性,不是一個對象實例的屬性,所以,你這a.prototype.y=2;這句話是不對的,因為實例a沒有prototype屬性,按你的目的,應該這樣寫:Object.prototype.y=2;這樣的話,a的原型中就有y屬性了,且值為2。又因為a是b的原型,所以b從原型鏈上繼承了y屬性,即b.y的值為2。(建議:自己寫下代碼實踐一下就知道了?。└缴洗a: