Добры день!
Не могу разобраться в таком моменте. В статье
ООП в javascript: наследование написано:
по умолчанию свойство prototype функции равно пустому объекту new Object()
// Animal.prototype не указан явно, по умолчанию:
Animal.prototype = {}
Но почему тогда два вроде бы одинаковых примера дают разный результат?
function Tree(name) {
this.name = name;
}
Tree.prototype.sayHello = function(){
alert(this.name+'\n'+this.constructor);
}
theTree = new Tree("Redwood");
theTree.sayHello();
Результат:
Код:
|
Redwood
function Tree(name) {
this.name = name;
} |
function Tree(name) {
this.name = name;
}
Tree.prototype = {}
Tree.prototype.sayHello = function(){
alert(this.name+'\n'+this.constructor);
}
theTree = new Tree("Redwood");
theTree.sayHello();
Результат:
Код:
|
Redwood
function Object() {
[native code]
} |
Где я что-то не правильно понял?