Consejo rápido cómo extender objetos incorporados en JavaScript

Las funciones de constructor, como Array, ofrecen una amplia gama de métodos y propiedades que puede utilizar. Pero ¿alguna vez deseó que uno de estos objetos ofreciera algún método que no estuviera integrado? ¿Hay una manera de hacerlo usted mismo? ¡Absolutamente! Veamos como.

Invertir una cadena

Este pequeño fragmento aprovecha el método "inverso" del objeto Array y aplica su funcionalidad a una cadena dada. En efecto, algo como "hola" se convertirá en "olleh" y se puede acceder utilizando "myString.reverse ()".

 String.prototype.reverse = function () return Array.prototype.reverse.apply (this.split (")). Join ("); ; var myString = 'hola'; console.log (myString.reverse ());

Pregunta extra

Ahora que tenemos una comprensión básica de los objetos de aumento, ¿puede encontrar una manera de escribir un método "contiene" personalizado para el objeto String? Por ejemplo, la biblioteca jQuery nos permite escribir cosas como:

 $ ("div: contiene ('John')"). css ('fontWeight', 'bold');

El fragmento anterior buscará a través de todos los divs en la página, y luego filtrará el conjunto envuelto solo para aquellos que contienen la cadena "John". ¿Cómo podríamos extender el objeto String, con JavaScript en bruto, para permitir esto? Deja tu solución en los comentarios, y discutiremos.!

  • Síganos en Twitter o suscríbase a Nettuts + RSS Feed para obtener los mejores tutoriales de desarrollo web en la web..