Snelle tip Ingebouwde objecten uitbreiden met JavaScript

Constructorfuncties, zoals Array, bieden een breed scala aan methoden en eigenschappen waarvan u gebruik kunt maken. Maar heb je ooit gewenst dat een van deze objecten een methode aanbood die niet is ingebouwd? Is er een manier om dit zelf te doen? Absoluut! Laten we kijken hoe.

Een reeks omkeren

Dit kleine fragment maakt gebruik van de "omgekeerde" methode van het array-object en past de functionaliteit ervan toe op een gegeven tekenreeks. In feite wordt zoiets als 'hallo' omgezet in 'olleh' en kan worden geopend met 'myString.reverse ()'.

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

Bonusvraag

Nu we een basiskennis hebben van het vergroten van objecten, kun je een manier bedenken om een ​​aangepaste "bevat" -methode te schrijven voor het String-object? Met de jQuery-bibliotheek kunnen we bijvoorbeeld dingen schrijven als:

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

Het bovenstaande fragment doorzoekt alle div's op de pagina en filtert die ingepakte set dan alleen naar die met de string 'John'. Hoe kunnen we het String-object met onbewerkte JavaScript-code uitbreiden om dit mogelijk te maken? Laat uw oplossing achter in de opmerkingen en we bespreken het!

  • Volg ons op Twitter of abonneer je op de Nettuts + RSS Feed voor de beste tutorials voor webontwikkeling op internet.