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.
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 ());
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!