Здравствуйте!
Есть следующая, наверняка знакомая вам реализация наследования:
function inherit(Child, Parent) {
var temp = new Parent();
for(var p in temp) if(temp.hasOwnProperty(p)) delete temp[p];
Child.prototype = temp;
Child.constructor = Child;
}
и вот такой пример её использования:
function Tool(name, src) {
this.id = name;
this.src = src;
}
inherit(Tool, Image);
var o = new Tool("tool1", "/.../arr-right.png");
document.body.appendChild(o);
var o1 = new Tool("tool2", "/.../arr-left.png");
document.body.appendChild(o1);
В итоге получается ОДИН объект с именем tool2 и соурсом arr-left.png. Т.е. свойства id и src каким-то образом попали в прототип к Tool.
Пожалуйста, объясните, почему так случилось.
Спасибо.