1
00:00:00,300 --> 00:00:05,690
Dus ik heb nog een praktisch voorbeeld van een echt gebruik geval voor het toevoegen van methoden om een ​​object.

2
00:00:05,710 --> 00:00:08,300
Er is een populaire javascript library genaamd de underscore J.

3
00:00:08,300 --> 00:00:08,840
Ja.

4
00:00:08,910 --> 00:00:13,110
En we zullen meer over wat bibliotheken worden maar voor nu denken als gewoon een stelletje code praten.

5
00:00:13,140 --> 00:00:15,200
Iemand anders schreef dat we kunnen gebruiken.

6
00:00:15,570 --> 00:00:19,880
Dus alles wat onderstrepen is een bos van functies dat iemand anders geschreven heeft.

7
00:00:20,050 --> 00:00:21,590
We kunnen ze hier zien.

8
00:00:21,630 --> 00:00:23,720
Elk van deze is een andere functie.

9
00:00:23,850 --> 00:00:32,210
Dus we hebben dingen zoals vinden elke Sommige bevat min max sorteren op en maakt eigenlijk niet uit hoe ze werken en wat ze doen.

10
00:00:32,250 --> 00:00:35,110
Maar het is belangrijk dat ik je laten zien dat er veel van hen.

11
00:00:35,850 --> 00:00:43,230
Dus underscore naam ruimten allemaal samen een groep van hen helemaal in plaats van een object met de naam underscore.

12
00:00:43,260 --> 00:00:47,350
Gewoon om karakter te onderstrepen zodat u kunt zien dit is hoe je ze belt.

13
00:00:47,520 --> 00:01:04,340
Onderstrepen maken dit een beetje groter underscore dot kaart onderstrepen dot te verminderen en dat is gewoon gedaan zodat al deze methoden zijn gegroepeerd, zodat u alles wat begint met underscore is afkomstig van deze underscore bibliotheek weten.

14
00:01:04,350 --> 00:01:06,070
Je hebt het niet te schrijven zelf.

15
00:01:06,270 --> 00:01:09,430
We zullen uiteindelijk praten over hoe we een bibliotheek importeren als underscore.

16
00:01:09,510 --> 00:01:12,260
Je zult zien hoe we zelfs iets als underscore uiteindelijk kon schrijven.

17
00:01:12,450 --> 00:01:15,210
Maar wat ik wil hier laten zien is niet de code zelf.

18
00:01:15,420 --> 00:01:19,510
Ik wil alleen maar om het feit dat alles is gegroepeerd binnen van een underscore object te laten zien.

19
00:01:19,560 --> 00:01:27,100
Dus in plaats van hond of kat ruimte ruimte besloten ze om een ​​heel korte memorabele karakter dat is underscore gebruiken.

20
00:01:27,390 --> 00:01:38,610
Er is nog één ding dat ik wil in deze video dat is de sleutel woord te benadrukken dat zo in javascript is er een speciaal woord deze die we kunnen gebruiken in verschillende contexten om verschillende dingen te doen.

21
00:01:38,700 --> 00:01:43,710
Dus om te laten zien wat het doet en hoe het werkt ga ik om verder te gaan en doe een snel voorbeeld.

22
00:01:44,160 --> 00:01:56,440
Dus laten we veronderstellen dat ik het maken van een app die een aantal opmerkingen heeft en ik wil een aantal gemeenschappelijke data opgeslagen in plaats van een voorwerp, evenals een paar methodes zoals print of te verwijderen die ik wil op te slaan in plaats van een voorwerp ook.

23
00:01:56,460 --> 00:02:03,030
Net zoals we zagen bij het spreken methode, dus ik ga een namespace genaamd reacties te definiëren.

24
00:02:03,030 --> 00:02:08,490
Dus var zegt dat het gaat om een ​​object te zijn en ik ben gewoon gaan om te beginnen met het feit dat leeg.

25
00:02:08,490 --> 00:02:14,840
Volgende Ik ga naar de eigenschap data die is gewoon een serie van reacties te bepalen.

26
00:02:15,090 --> 00:02:21,630
Dus het is wat domme opmerkingen, net als dit.

27
00:02:21,630 --> 00:02:22,600
En we druk op enter.

28
00:02:22,830 --> 00:02:31,680
Dus hebben we opmerkingen als deze waar we slechts één eigendom gegevens en dat eigenschap heeft dat array heeft drie verschillende opmerkingen in.

29
00:02:32,070 --> 00:02:42,270
Dus als ik wilde een methode genaamd druk wat ik kon doen is een functie definiëren afzonderlijk net als deze functie print en het duurt in een array te maken.

30
00:02:43,080 --> 00:02:51,880
En alles wat ik wil doen is gewoon te annuleren dot loggen elke opmerking, dus ik kon doen op een vreemde manier waar ik kon worden afgedrukt en vervolgens deed ik gewoon een voor elk.

31
00:02:51,960 --> 00:02:59,810
Dus array voor elke functie noemen het element.

32
00:03:03,840 --> 00:03:06,830
En dan heb ik te annuleren dat logboek.

33
00:03:07,820 --> 00:03:12,380
L Dus deze functie is op dit moment geen methode.

34
00:03:12,420 --> 00:03:25,690
Het bestaat buiten mijn opmerkingen bezwaar en als ik wilde uitprinten gewone aandelen data zou ik moeten oplage en vervolgens doorgeven in reactie dot data.

35
00:03:26,010 --> 00:03:32,260
Dus dat is wat we hebben gedaan tot op dit punt te definiëren onze functies afzonderlijk in de wereldwijde namespace venster.

36
00:03:32,500 --> 00:03:35,970
Maar als ik wil toevoegen aan de opmerkingen bezwaar alles wat ik moet doen.

37
00:03:36,150 --> 00:03:41,230
Ik bedoel kopiëren mijn code hier en ik ga hier terug te gaan en zeggen commentaar.

38
00:03:41,280 --> 00:03:42,800
Print gelijk.

39
00:03:42,830 --> 00:03:46,350
Je gaat mijn functie plakken en ik kan deze naam hier vertrekken.

40
00:03:46,350 --> 00:03:48,980
Ik ga al van af te komen, want het is niet nodig om het te noemen.

41
00:03:48,990 --> 00:03:50,250
Daar ook.

42
00:03:50,790 --> 00:03:59,990
En in plaats van het te nemen een array als een argument ik het wil gebruiken wat we al hebben in plaats van de opmerkingen die we al hebben de gegevens in hetzelfde object.

43
00:04:00,210 --> 00:04:03,850
Dus is er een manier voor mij om de gegevens in plaats van een object te delen.

44
00:04:03,870 --> 00:04:07,610
Dus ik kan de gewone aandelen van gegevens gebruiken binnenkant van gewone aandelen af ​​te drukken.

45
00:04:07,620 --> 00:04:08,790
En het antwoord is ja.

46
00:04:09,060 --> 00:04:11,730
En dat is waar het dit zoekwoord komt.

47
00:04:11,760 --> 00:04:13,670
Dus ik heb geen argument nodig.

48
00:04:13,860 --> 00:04:20,310
Als ik alleen maar wil dat dit te doen is druk wat in voorkomende gegevens in plaats van een radar voor elk.

49
00:04:20,550 --> 00:04:23,670
Ik kan eigenlijk dit schrijf dot gegevens.

50
00:04:24,180 --> 00:04:27,660
Dus het sleutelwoord is dit een beetje lastig in verschillende situaties.

51
00:04:27,660 --> 00:04:29,260
Het betekent verschillende dingen.

52
00:04:29,280 --> 00:04:31,860
Zeker een van de quirkier delen van javascript.

53
00:04:31,860 --> 00:04:33,780
Een groot deel van het interview vragen scherp te stellen.

54
00:04:33,780 --> 00:04:36,640
Dus het is iets dat zelfs deskundigen zal worstelen met.

55
00:04:36,660 --> 00:04:46,710
We gaan veel meer tijd doorbrengen met het sleutelwoord dat als we gaan vooruit als we leren over de gebeurtenissen als we praten over Jay-query en als we verhuizen naar de back-end en praten over databases ook.

56
00:04:46,710 --> 00:04:55,780
Dus voor nu in dit geval het woord verwijst dit naar het object commentaar, dus laat ik je zien als ik druk op enter hier.

57
00:04:55,920 --> 00:05:00,660
Laten we eens kijken naar wat de gemeenschappelijke er nu uitziet heeft twee dingen.

58
00:05:00,660 --> 00:05:03,870
Data en array en dan is deze print-methode.

59
00:05:04,110 --> 00:05:08,070
En vergeet niet dat de methode print is een verwijzing naar deze gegevens.

60
00:05:08,100 --> 00:05:13,880
Dus wanneer we in een print deze verwijst naar het gehele object dat de gegevens heeft binnenkant van het.

61
00:05:13,950 --> 00:05:19,860
Dus van deze gegevens is hoe we kunnen gaan van binnen uit een afdruk hebt toegang tot deze gegevens.

62
00:05:19,860 --> 00:05:27,880
Dus om die methode nu alles wat ik moet doen is zeggen opmerkingen Prins gebruiken en krijgen we onze drie opmerkingen afgedrukt.

63
00:05:27,900 --> 00:05:32,670
Dus wat ik heb net zien is echt een gemeenschappelijk patroon voor de manier waarop we de code te organiseren.

64
00:05:32,670 --> 00:05:44,790
We kunnen wel wat data zetten binnenkant van een object en neem vervolgens de bijbehorende functies en functionaliteit en voeg ze als methoden om hetzelfde object en gebruik het sleutelwoord deze toegang tot de gegevens die wij vooraf gedefinieerde.

65
00:05:45,210 --> 00:05:49,600
Als je het gevoel een beetje in de war over het sleutelwoord dit, dat is zeker te verwachten.

66
00:05:49,620 --> 00:05:51,390
We hebben nog maar net krassen op het oppervlak.

67
00:05:51,390 --> 00:05:54,440
En zoals ik al zei we gaan houden over en weer langskomen het.

68
00:05:54,630 --> 00:05:57,960
Alles wat ik wil dat je begrijpt is dat er een trefwoord noemde dit.

69
00:05:57,960 --> 00:05:59,150
Het is een beetje lastig.

70
00:05:59,340 --> 00:06:09,540
En in een context degene die ik liet hier door het schrijven van deze in plaats van een werkwijze verwijst naar het object dat de werkwijze gedefinieerd.

71
00:06:09,930 --> 00:06:12,170
OK dus dat is het voor voorwerpen voor nu.

72
00:06:12,360 --> 00:06:13,410
Erg opwindend.
