Классы в JavaScript
ВАЖНО! В JavaScript НЕТ классов в привычном для объектно- ориентированных языков виде
 
Сравнение C# и JavaScript
	| C# | JavaScript | 
	| class Animal | function Animal() | 
	| { | { | 
	| public int age = 0; | this.age = 0; | 
	| public string name = “Як”; | this.name = “Як”; | 
	| } | } | 
	| … | … | 
	| Animal a = new Animal(); | var a = new Animal(); | 
 
Экземпляры класса
function Animal()
{
this.age = 0; this.name = “Як”;
}
var a = new Animal();
alert(a.name + “, возраст : “ + a.age + “, ищет работу”);
//Як, возраст: 0, ищет работу a.age++;
alert(“Исполнилось ” + a.age);
// Исполнилось 1
 
Параметризованные
конструкторы
Конструктор – функция, следовательно, может принимать произвольное количество аргументов
function Animal(name, age)
{
this.name = name || "Без имени"; this.age = age || 0;
}
 
Пример
function Animal(name, age)
{
this.name = name || "Без имени"; this.age = age || 0;
	| } |   |   | 
	| var a1 | = new Animal(); | 
	| var a2 | = | new Animal(“Тузик”); | 
	| var a3 | = | new Animal(“Барсик”, 5); | 
 
Методы объектов
function Animal(name, age)
{
this.name = name || "Без имени"; this.age = age || 0;
this.talk = function()
{
alert(this.name + " не говорит"); };
this.eat = function(kg)
{
alert(kg > 10 ? "Достаточно" : "Маловато будет!"); };
}
var a = new Animal("Тузик"); a.talk(); //Тузик не говорит a.eat(2); //Маловато будет a.eat(20); //Достаточно a.talk = function()
{
alert(“Я умею говорить!”);
};
a.talk(); // Я умею говорить!