Hurtig Tips Hvordan å utvide innebygde objekter i JavaScript

Konstruksjonsfunksjoner, som Array, tilbyr et bredt spekter av metoder og egenskaper som du kan benytte deg av. Men har noen gang ønsket at en av disse gjenstandene tilbys noen metode som ikke er innebygd? Er det en måte å gjøre det selv på? Absolutt! La oss se hvordan.

Omvendt streng

Denne lille utdrag utnytter Array-objektets "revers" -metode, og bruker funksjonaliteten til en gitt streng. I virkeligheten blir noe som "hei" omgjort til "olleh", og kan nås med "myString.reverse ()".

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

Bonus spørsmål

Nå som vi har en grunnleggende forståelse for å forsterke objekter, kan du finne ut hvordan du kan skrive en tilpasset "inneholder" metode for String-objektet? For eksempel lar jQuery-biblioteket oss å skrive ting som:

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

Utsnittet ovenfor vil søke gjennom alle delene på siden, og deretter filtrere det pakkede settet ned til bare de som inneholder strengen "John". Hvordan kunne vi utvide String-objektet, med rå JavaScript, for å tillate dette? La løsningen stå i kommentarene, og vi diskuterer!

  • Følg oss på Twitter, eller abonner på Nettuts + RSS-feed for de beste webutviklingsopplæringene på nettet.