Улучшение по сравнению с классом JavaScript Джона Резига - PullRequest
9 голосов
/ 21 июня 2011

Добрый день всем,

Недавно я искал красивую простую инфраструктуру классов JavaScript, которая выполняет только базовое наследование.Я нашел пример фреймворка Джона Ресига в его блоге и нашел, что он вполне удовлетворителен для моих нужд.Тем не менее, пост датируется 2008 годом, и это, в конце концов, сеть, о которой мы говорим.

Так что мой вопрос: вы, ребята, будете использовать эту систему как есть, или будут улучшения, чтобы сделатьвещи, которые были обнаружены за эти годы?Или, может быть, существующая, активно поддерживаемая платформа классов, похожая на эту?

Спасибо.

Ответы [ 3 ]

9 голосов
/ 21 июня 2011

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

Я пишу JavaScript уже 8 лет и ни разу не нашел необходимости использовать функцию uber.... Теперь мои ранние попытки поддержать классическую модель в JavaScript ошибочны .

Дуглас Крокфорд, Классическое наследование в JavaScript ,

8 голосов
/ 21 июня 2011

Ребята из JavaScriptMVC проделали большую работу по созданию реализации класса на основе примера фреймворка John Resigs:

Класс обеспечивает моделируемое наследование в JavaScript,Используйте clss для устранения разрыва между функциональным стилем программирования jQuery и объектно-ориентированным программированием.Он основан на простой библиотеке наследования классов Джона Резига.Помимо наследования прототипов, он включает в себя несколько важных функций:

Static inheritance
Introspection
Namespaces
Setup and initialization methods
Easy callback function creation

Все остальные части платформы основаны на Class, но вы также можете использовать его автономно (сжато менее 6 КБ).Мне особенно нравятся функции обратного вызова и статическое наследование.Используйте это так:

$.Class.extend('My.Class',
{
    // Static properties
},
{
    init : function(args)
    {
            // This is the constructor
    },

    classMethod : function()
    {
        alert("Class method called.");
    }
});
2 голосов
/ 22 мая 2013

Вы можете проверить эту расширенную версию модели Джона Ресига класса:

https://github.com/riga/jclass

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...