Sfat rapid Cum să extindeți obiectele încorporate în JavaScript

Funcțiile constructorului, cum ar fi Array, oferă o gamă largă de metode și proprietăți pe care le puteți folosi. Dar ați dorit vreodată că unul dintre aceste obiecte a oferit o metodă care nu este încorporată? Există o modalitate de a face asta? Absolut! Să vedem cum.

Inversarea unui șir

Acest fragment mic folosește metoda "inversă" a obiectului Array și aplică funcționalitatea acestuia unui șir dat. De fapt, ceva de genul "hello" va fi transformat în "olleh" și poate fi accesat prin utilizarea "myString.reverse ()".

 String.prototype.reverse = funcția () retur Array.prototype.reverse.apply (this.split (")). Join ("); ; var myString = 'salut'; console.log (myString.reverse ());

Bonus Întrebare

Acum, că avem o bază de înțelegere a obiectelor augmentante, puteți să vă dați seama o modalitate de a scrie o metodă personalizată "conține" pentru obiectul String? De exemplu, biblioteca jQuery ne permite să scriem lucruri precum:

 $ ("div: conține ('John')") css ('fontWeight', 'bold');

Fragmentul de mai sus va căuta în toate divs-urile de pe pagină și apoi va filtra setul înfășurat numai la cele care conțin șirul "John". Cum am putea extinde obiectul String, cu JavaScript brut, pentru a permite acest lucru? Lăsați soluția în comentarii și vom discuta!

  • Urmați-ne pe Twitter sau abonați la Nettuts + RSS Feed pentru cele mai bune tutoriale de dezvoltare web de pe web.
Cod