В JavaScript нет такой вещи, как класс, вместо этого все в JavaScript является объектом.
Чтобы создать новый объект, вы определяете функцию, которая использует ключевое слово this
(конструктор «function ”), а затем вызовите его с помощью оператора new
:
function Foo (id) { // By convention, constructor functions start with a capital letter
this.id = id;
}
var foo1 = new Foo(1);
var foo2 = new Foo(2);
Однако эти объекты не имеют методов.Чтобы добавить методы, вам нужно определить объект-прототип в их функции конструктора:
Foo.prototype = {
getId: function () {
return this.id;
}
}
Эта новая функция getId
будет использоваться всеми Foo
объектами.Однако, как было сказано, в JavaScript нет классов, и поэтому есть другие конструкции, которые вы будете использовать для получения других результатов.
Я настоятельно рекомендую видео Дугласа Крокфорда, в которых он объясняет большую частьЯваскрипт ОО природа.С докладами можно ознакомиться здесь:
http://developer.yahoo.com/yui/theater/
Дуглас Крокфорд - Язык программирования JavaScript
Дуглас Крокфорд - Расширенный JavaScript
Это даст вамбазовое понимание структуры JavaScript и должно помочь переход от классического к функциональному программированию.