Где я могу найти пример большого проекта JavaScript с использованием метода Крокфорда для прототипного наследования?

Я прочитал о том, что Crockford настаивает на с использованием JavaScript более явно прототипным способом (клонирование объектов для создания новых, никогда не использующих "новые" ключевое слово"). Но в дикой природе я никогда не видел, чтобы кто-то использовал этот стиль для более крупных проектов.

Где я могу найти примеры большого проекта, который использует этот стиль?

Ответы

Ответ 1

Имейте, чтобы предлагать anti-awnser;) хотя хотелось бы видеть большие проекты, используя это также (если они есть). Я люблю Object.create себя и предпочитаю, хотя я никогда не мог использовать его широко в большом проекте и не чувствую, что это должно быть.

  • Разработчики OO пристрастились к "новому" оператору, это жесткая привычка избавиться и легко понять с первого взгляда. Код, написанный классическим способом, теперь проще передать следующему разработчику, который уже является сильным аргументом против Object.create.

  • Object.create в ES5 (следующая версия JS) намного мощнее и сильно отличается от Object.create как прокладка в ES3 (текущая версия JS). По этой причине лучше избегать Object.create(как доступно сейчас) в качестве широко используемой стратегии в больших проектах, поскольку она будет работать по-другому, когда ES5 станет основным, чем реализуется прямо сейчас.

  • Большие проекты используют фреймворки (когда у вас нет мошенников JS "ниндзя", которые настаивают на том, чтобы писать все с нуля, снова изобретая колесо снова и снова), и все популярные структуры продвигают прототипное наследование классическим способом. У них может быть метод Object.create somehwere в виде .clone() или что-то еще, но он скрыт из учебников и документации относительно наследования объектов и подкласса.

  • Частные свойства невозможны с Object.create в ES3. Я наткнулся на большее количество проблем, чем больше я играл с Object.create, и мальчик, с которым я играл с ним...

Я много играл с Object.create и даже написал крошечную фреймворк вокруг него под названием "Возражение" (если вы interrested, вы найдете его;), хотя и воздерживаться от ссылки на github) и "JSoo" ( прекращено). Это слишком суровое, незавершенное и прогрессивное, чтобы стать основным и поддерживаемым с точки зрения людских ресурсов для крупных проектов. Я рекомендую против него, будучи сторонником.

Ответ 2

Вы можете найти его здесь Плагин Nokia WRT для Visual Studio, плагин для разработчика виджета для Nokia.

От форума nokia:

The Nokia WRT Plug-in for Visual Studio provides features that enable 
the creation, editing, testing, and deployment of WRT widgets from within
Visual Studio.

Ответ 3

попробуйте: http://showroom.auction123.com/auction123/index.html

Мы вообще не используем новое... Мы просто задаем результат функции и используем ее как класс.

Например:

// CLASS DECLARATION
var ClassName = function() {

  var public;
  var private;

  var publicFunction = function() {
    // DO STUFF
  };

  // RETURN  OBJECT
  return {
     public: public,
     publicFunction: publicFunction
  };

};

Конечный результат просто говорит, что будет публично.

Создайте его, выполнив следующие действия:

var object = ClassName();