Javascript class
Автор Максим Андреев задал вопрос в разделе Другие языки и технологии
Как создаются "классы" в JavaScript? и получил лучший ответ
Ответ от Алекс Красс[гуру]
В JavaScript до версии 2.0 не полноценных классов, они есть только в версии JavaScript 2.0(если их конечно там сделали) .
Вместо этого используется прототипное ООП, создаются объекты на основе прототипа.
Создаются объекты не из классов, а на основе обычной функции (конструктор) , ключевого слова new и прототипа.
При использование ключевого слова new создается объект и передается в функцию. В функции объект доступен по ключевому слову this и после выполнения функции возвращается он же, но можно вернуть и самому.
Пример:
function Class( ){ //обычная функция
        this.a = 10; //создание полей
        this.b = 20;
}
Class.prototype.perimetr = function ( ){ //создание методов в прототипе, это общий для всех объектов контейнеров.
        return this.a * this.b;
}
Class.prototype.PI = 3.14; //Создание общих свойств
Создание объекта:
obj = new Class( );
document.write(obj.perimetr( ));
Для реализации закрытых методов и полей используется такая вещь, как замыкания.
пример класса из фреймворка 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;
Как с помощью javascript сменить класс элемента в зависимости от style другого элемента на странице?
если я правильно понял, то
if (document.selector.style.display == 'value'){
// change
подробнее...
Про события в jQuery и в JavaScript. Чем отличается onсlick, от сlick в jQuery?
Ничем. jQuery библиотека, написанная на js. У нее свои функции. Вот, кстати, с on:
подробнее...
Работа с выпадающим списком (SELECT) и JavaScript... Как ява-скриптом выбрать один из пунктов????
<select name="" id="select">
<option
подробнее...
JavaScript время в разных городах
поправит функциию show
исправить начало
var Digital
var hours
var minutes
подробнее...
Переключатель JavaScript( jQuery )
var flag=true;
$(document).ready(function() {
$('#div_for_img
подробнее...
JQuery. Как выбрать элемент, следующий за кликнутым (событие click)
<script type="text/javascript">
$(document).ready(function(){
подробнее...
java или javascript??
стена и стенания это одно и тоже?
с такими вопросами тебе до андроида и плюсов как до луны
подробнее...
JS, JSON, PHP: Как таки передать массив php в javascript?
по массиву нужно итерировать циклом со счётчиком, а не фор-ин-ом
и брось ты этот JQuery, пиши
подробнее...
Изменение z-index посредством javascript
Все довольно просто.
Шаг 1.
Создай файл с расширением .js (через "Блокнот", и
подробнее...
Подскажите эффектный скрипт выпадающих текстов на javascript.
А в чем проблема с id?
Вам же как то нужно знать какой div вы хотите открывать.
Если
подробнее...
javascript: нужно получить координаты элемента используя event.target. ..Какое свойство объекта "событие" мне нужно?
Сам объект. Его позиция вычисляется относительно "родителя" (свойства offsetLeft и offsetTop), а
подробнее...
Switch() {case} в javascript - jQuery Что подставлять в
Здесь вообще не надо никакого switch. Достаточно:
$('.block').click(function() {
подробнее...
Что такое javascript-код?
ну java script один из языков программирования) ) иногда в на страничках в инете попадаются какие
подробнее...