Это объект. Объект это не класс.
var bob = {};
bob.name = 'Bob';
bob.sayHi = function(){console.log('Hi, my name is ' + this.name);}
Новая переменная содержит указатель на тот же объект, а не создает новый объект.
var tom = bob; // tom - это лишь просто ссылка на bob. Изменение tom на самом деле изменяет bob.
Конструктор объектов - это функция. Функция - это класс. В JavaScript class = function. Это видно по class из EcmaScript 6.
function Person (name) {
this.name = name;
this.sayHi = function(){console.log('Hi, my name is ' + this.name);};
}
bob - это объект, созданный из класса Person.
var bob = new Person ('Bob');
bob.sayHi();
Класс можно расширять через prototype.
Person.prototype.jump = function(){console.log('The ' + this.name + 'can jump.');};
Наследование классов
function extend(o){
function F(){}
F.prototype = o;
return new F():
}
var Child = extend(Person);
Child.prototype.surname = 'Taylor';
var alice = Child('Alice');
Комментариев нет:
Отправить комментарий