Лучший способ использовать «хорошие части» Javascript - PullRequest
14 голосов
/ 14 декабря 2008

По рекомендации Stackers, я читал превосходный Крокфорд Javascript: The Good Parts .

Это отличная книга, но так как большая ее часть посвящена описанию наилучшего способа использования основных функций 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, но отслеживать все было бы огромной болью.

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

Ответы [ 5 ]

5 голосов
/ 14 декабря 2008

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

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

1 голос
/ 15 декабря 2008

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

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

1 голос
/ 15 декабря 2008

Разве он не работает на Yahoo? Вы всегда можете использовать библиотеки пользовательского интерфейса Yahoo .

Лично я неравнодушен к JQuery , поскольку мне это кажется более кратким, но вы знаете: лошади для курсов.

0 голосов
/ 03 августа 2012

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

0 голосов
/ 28 ноября 2010

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

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