我是JS編程中的新手,並試圖理解基於原型的繼承。下面是我的測試代碼,我有一個關於線方法'parseParameters'的問題。Javascript繼承 - 創建成員
據我所知,當我實例化類Point,並擰下:
var p = new Point ({x: 1, y: 1});
alert(p.x);
成員「X」,首先搜查Point類,然後在它的原型(形狀)。這樣對嗎?
問題本身:在Point類或Shape(原型)中,將在哪裏創建成員'x'和'y'?
一句話:我應該真的想到它嗎?也許這是微不足道的問題,並且無論成員在哪裏創建?
var Shape = function() {}
Shape.prototype = {
getParameter: function (params, name) {
return params !== null && params !== undefined
? params[name]
: 0;
},
parseParameters: function(params, names) {
if (params === null || params === undefined) {
return;
}
for(var i = 0; i < names.length; i++) {
this[names[i]] = params[names[i]];
}
}
}
var Point = function (params) {
this.parseParameters(params, ['x', 'y'])
}
Point.prototype = new Shape;
目前'Point'和'Shape'之間沒有鏈接。由於'Point'沒有'parseParameters'方法,你的實例化將失敗。 –
固定!謝謝,我應該少工作。 –