Какая библиотека JavaScript имеет самую всестороннюю поддержку наследования классов? [закрытый]

Только на основе кода, который мы видим в вашем посте.

document.querySelectorAll('th')[1].style.color = "blue";

Я нахожу 2-й тег TH и устанавливаю цвет таким образом. Вы также можете установить значения таким же образом.

document.querySelectorAll('th')[1].innerText = "start";
or 
document.querySelectorAll('th')[1].innerHTML = "start";
20
задан Aaron Qian 2 April 2009 в 19:23
поделиться

9 ответов

Я нашел, там Платформа JavaScript, смоделированная после Ruby:

Js. Класс

Другой хороший:

Joose-js (смоделированный после американского лося (жемчуг))

Я предпочитаю Josse, потому что это, кажется, более активно разрабатывается, и синтаксис выглядит аккуратным также!

Какие-либо мысли??? (Возможно, это должно быть другим вопросом??)

8
ответ дан 30 November 2019 в 00:09
поделиться

Я думаю, что Microsoft Ajax реализует его просто отлично (с пространствами имен, наследованием и взаимодействует через интерфейс и т.д.),

Образец:

Type.registerNamespace("Demo");

Demo.Person = function(firstName, lastName, emailAddress) {
    this._firstName = firstName;
    this._lastName = lastName;
    this._emailAddress = emailAddress;
}

Demo.Person.prototype = {

    getFirstName: function() {
        return this._firstName;
    },

    getLastName: function() {
        return this._lastName;
    },

    getName: function() {
        return this._firstName + ' ' + this._lastName;
    },

    dispose: function() {
        alert('bye ' + this.getName());
    }
}
Demo.Person.registerClass('Demo.Person', null, Sys.IDisposable);

// Notify ScriptManager that this is the end of the script.
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
7
ответ дан 30 November 2019 в 00:09
поделиться

Прототип выезда. Вот образец:

// properties are directly passed to `create` method
var Person = Class.create({
  initialize: function(name) {
    this.name = name;
  },
  say: function(message) {
    return this.name + ': ' + message;
  }
});

// when subclassing, specify the class you want to inherit from
var Pirate = Class.create(Person, {
  // redefine the speak method
  say: function($super, message) {
    return $super(message) + ', yarr!';
  }
});

var john = new Pirate('Long John');
john.say('ahoy matey');
// -> "Long John: ahoy matey, yarr!"
5
ответ дан 30 November 2019 в 00:09
поделиться

Base2 имеет простой механизм наследования, См. сообщение John Resig на этом (комментарии в сообщении также интересны).

Что-то, чтобы также иметь в виду - то, что попытка сделать моделирует классическое OO в JavaScript, получал партию зенитного огня в последнее время (хотя это исследовалось очень с энтузиазмом в начальные дни большого оборота библиотеки JS).

5
ответ дан 30 November 2019 в 00:09
поделиться

Ну, сначала необходимо спросить, хотите ли Вы библиотеку, которая пытается эмулировать классическое наследование или то, которое идет больше для собственного компонента JS prototypal наследование.

ДУЭТЫ (библиотека Digg User Interface) являются дополнением jQuery, которое берет старую модель Прототипа и расширяет ее намного более интуитивным способом, допуская вложенные статические и динамические классы, пространства имен, поддержка dontEnum укусила и т.д. Документация доступна на GitHub Digg. Я думаю, что Вы найдете это довольно устойчивым.

Раскрытие: Я работаю на Digg и записал DUI ;)

0
ответ дан 30 November 2019 в 00:09
поделиться

Я считаю, что mootools - это все, что мне нужно для наследования. Он использует основной мотив расширений и реализаций многих других объектно-ориентированных языков.

Один из разработчиков подробно рассматривает его в своем сравнении с jquery:

http://jqueryvsmootools.com

Вы не нужна и вся библиотека. Вы можете просто загрузить их модель класса и игнорировать остальное (анимацию, манипуляции с домом и т. Д.).

1
ответ дан 30 November 2019 в 00:09
поделиться

Возможно, вас заинтересует qooxdoo, платформа для создания полнофункциональных интернет-приложений (RIA). Он включает в себя комплексный объектно-ориентированный уровень, цель которого - быть мощным, элегантным и быстрым:

См. Следующий раздел в руководстве, где есть все подробности: http://qooxdoo.org/documentation/0.8#object_orientation

2
ответ дан 30 November 2019 в 00:09
поделиться

Вам следует попробовать Classy:

http://classy.pocoo.org/

Он простой и очень маленький, но в нем есть все, что мне нужно для построения моих классов.

7
ответ дан 30 November 2019 в 00:09
поделиться

Просто выберите тот, который вам больше нравится. В конце концов, все они за кулисами используют прототипное наследование, поэтому все они имеют примерно одинаковый уровень функциональности.

Если вам нужна мощная традиционная система классов, используйте GWT и программируйте на чистой Java.

Лично я предпочитаю компонентную систему Ext, но это потому, что компоненты Ext на самом деле имеют полный жизненный цикл (инициализация, рендеринг, сохранение состояния и уничтожение), что, в свою очередь, позволяет использовать подключаемые модули компонентов, которые не нарушают незначительные обновления библиотеки.

1
ответ дан 30 November 2019 в 00:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: