Pregunta

Por recomendación de Stackers, he estado leyendo el excelente libro de Crockford. JavaScript:Las buenas partes.

Es un gran libro, pero dado que gran parte está dedicado a describir la mejor manera de utilizar la funcionalidad básica de Javascript, no estoy seguro de cómo puedo poner en práctica sus consejos sin duplicar los esfuerzos de muchos otros programadores de Javascript.

Tomemos este pasaje, por ejemplo:

Cuando creas un nuevo objeto, puedes seleccionar el objeto que debería ser su prototipo.El mecanismo que proporciona Javascript para hacer esto es complicado y complejo, pero puede simplificarse significativamente.Agregaremos un create método para el Object función.El create El método crea un nuevo objeto que utiliza un objeto antiguo como prototipo.

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

Podría agregar manualmente este código a todos mis proyectos de Javascript, pero hacer un seguimiento de todo sería una gran molestia.

¿Existen bibliotecas que implementen? La buena parte¿Las recomendaciones de y así ahorrarme la molestia de tener que realizar un seguimiento de ellas (/escribirlas todas físicamente)?

¿Fue útil?

Solución

Prototipo tiene muchas características, incluyendo un clase auxiliar que se encarga de los detalles de JS 'herencia' a través del prototipo de objeto.

Edit: maldito, me sigue olvidando que jQuery (mi propia biblioteca de elección) tiene jQuery. extender

Otros consejos

¿Es que no funciona para Yahoo? Se podría utilizar siempre las bibliotecas de interfaz de usuario Yahoo .

En lo personal, soy parcial a jQuery , ya que me parece más conciso, pero ya se sabe: los caballos para los cursos.

Dojo ha seguido las ideas de Crockford muy de cerca. Por ejemplo, existe una implementación del fragmento de código que anteriormente han implementado bajo la función dojo.delegate (en una forma aún más rápida).

No creo que hay un proyecto específico que siga sus recomendaciones a la perfección. La mayoría de los kits de herramientas en realidad no están de acuerdo con un buen número de sus recomendaciones y patrones. Si usted se está preguntando acerca de la funcionalidad específica, como el fragmento de código anterior, valdría la pena preguntar por qué herramientas específicas del libro que desea utilizar en sus proyectos.

Creo que YUI es el más cercano a lo que Crockford enseña en su libro. (Él es el arquitecto Yahoo también y tiene sentido)

Mira esto es5-cuña, una biblioteca que proporciona una corrección, aunque incompleta, para Object.create() Y otras cosas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top