Лучший способ использовать Javascript "хорошие части"

В рекомендации Штабелеров я читал Крокфорда превосходный Javascript: Хорошие детали.

Это отличная книга, но так как большая часть ее посвящена описанию наилучшего способа использования базовых функций Javascript, я не уверен, как я могу применить его совет на практике, не дублируя усилия многих других программистов Javascript.

Возьмите этот отрывок, например:

Когда вы создаете новый объект, вы можете выбрать объект, который должен быть его прототипом. Механизм, который Javascript предоставляет для этого, грязный и сложный, но его можно значительно упростить. Мы добавим метод create к функции Object. Метод create создает новый объект, который использует старый объект в качестве своего прототипа.

if (typeof Object.create !== 'function') {
 Object.create = function(o) {
  var F = function () {};
  F.prototype = o;
  return new F();
}

Я мог бы вручную добавить этот код ко всем моим проектам Javascript, но отслеживать все было бы огромной болью.

Существуют ли библиотеки, которые реализуют рекомендации "Хорошей части" и тем самым избавляют меня от необходимости отслеживать их (/физически печатать их все)?

Ответы

Ответ 1

Prototype имеет много замечательных функций, включая Class помощник, который обрабатывает детали "наследования" JS через прототип объекта.

Edit: Черт, я все время забываю, что jQuery (моя собственная библиотека выбора) имеет jQuery.extend

Ответ 3

Dojo внимательно следил за идеями Крокфорда. Например, существует реализация фрагмента кода, который вы выполнили выше, в функции dojo.delegate (в еще более быстрой форме).

Я не думаю, что существует конкретный проект, который следует его рекомендациям тройнику. Большинство наборов инструментов фактически не согласуются с некоторыми его рекомендациями и шаблонами. Если вам интересно узнать о конкретных функциях, например, этом фрагменте кода выше, стоит спросить, какие конкретные инструменты из книги вы хотите использовать в своих проектах.

Ответ 4

Я думаю, что YUI ближе всего к тому, чему учит Крокфорд в своей книге. (Он архитектор Yahoo также и имеет смысл)

Ответ 5

Посмотрите es5-shim, библиотеку, которая обеспечивает хотя бы неполную прокладку для Object.create() и другие вещи.