javascript классы



Javascript class

Автор Максим Андреев задал вопрос в разделе Другие языки и технологии

Как создаются "классы" в JavaScript? и получил лучший ответ

Ответ от Алекс Красс[гуру]
В JavaScript до версии 2.0 не полноценных классов, они есть только в версии JavaScript 2.0(если их конечно там сделали) .
Вместо этого используется прототипное ООП, создаются объекты на основе прототипа.
Создаются объекты не из классов, а на основе обычной функции (конструктор) , ключевого слова new и прототипа.
При использование ключевого слова new создается объект и передается в функцию. В функции объект доступен по ключевому слову this и после выполнения функции возвращается он же, но можно вернуть и самому.
Пример:
function Class( ){ //обычная функция
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspthis.a = 10; //создание полей
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspthis.b = 20;
}
Class.prototype.perimetr = function ( ){ //создание методов в прототипе, это общий для всех объектов контейнеров.
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspreturn this.a * this.b;
}
Class.prototype.PI = 3.14; //Создание общих свойств
Создание объекта:
obj = new Class( );
document.write(obj.perimetr( ));
Для реализации закрытых методов и полей используется такая вещь, как замыкания.

Ответ от Demoniqus[гуру]
пример класса из фреймворка mootools
Request.JSON = new Class({
Extends: Request,
options: {
secure: true
},
initialize: function(options){
this.parent(options);
this.headers.extend({'Accept': 'application/json', 'X-Request': 'JSON'});
},
success: function(text){
this.response.json = JSON.decode(text, this.options.secure);
this.onSuccess(this.response.json, text);
}
});

Ответ от Григорий Санду[гуру]
Creating objects using new Object()
There are several ways to create objects in JavaScript, and all of them have their place. The simplest way is to use the new operator, specifically, new Object():
person = new Object()
person.name = "Tim Scarfe"
person.height = "6Ft"
person.run = function() {
this.state = "running"
this.speed = "4ms^-1"
}
ссылка
Defining a Class - Object Constructors
A new JavaScript class is defined by creating a simple function. When a function is called with the new operator, the function serves as the constructor for that class. Internally, JavaScript creates an Object, and then calls the constructor function. Inside the constructor, the variable this is initialized to point to the just created Object. This code snippet defines a new class, Foo, and then creates a single object of that class.
function Foo()
{
this.x = 1;
this.y = 2;
}
obj = new Foo;

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как создаются "классы" в JavaScript?
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*