1
00:00:00,270 --> 00:00:01,200
Ben tornato.

2
00:00:01,230 --> 00:00:05,220
Quindi questo è il nostro ultimo video sugli oggetti javascript per le prossime unità.

3
00:00:05,280 --> 00:00:09,360
E in questo video tratteremo i metodi javascript prima di farlo.

4
00:00:09,360 --> 00:00:11,110
Voglio solo spiegare il mio set up.

5
00:00:11,220 --> 00:00:16,570
Ho un semplice file HTML e tutto quello che ho sono alcune note qui solo per noi da seguire.

6
00:00:16,590 --> 00:00:19,690
Quindi non devi assolutamente scriverlo se vuoi seguirlo.

7
00:00:19,710 --> 00:00:24,330
Puoi farlo semplicemente nella console o creare il tuo file ma non ti serve questa pagina.

8
00:00:24,600 --> 00:00:29,600
Quindi quello che ho intenzione di fare è iniziare a parlare di quali metodi sono così in javascript.

9
00:00:29,610 --> 00:00:33,900
Abbiamo visto che possiamo creare un oggetto che ne farà uno chiamato LBJ.

10
00:00:34,380 --> 00:00:38,050
E possiamo mettere qualunque tipo di dati vogliamo invece di quell'oggetto.

11
00:00:38,100 --> 00:00:41,580
Quindi potremmo avere un nome che è una stringa Charke.

12
00:00:41,980 --> 00:00:51,210
Puoi avere un'età che è un numero che possiamo avere è bello che è un booleano che possiamo

13
00:00:51,210 --> 00:00:58,580
avere amici che è un array e gli amici possono essere solo Bob e Tina.

14
00:00:59,370 --> 00:01:04,560
Ma quello che mi interessa mostrarti in questo video è che possiamo effettivamente aggiungere funzioni come proprietà

15
00:01:04,650 --> 00:01:05,600
a un oggetto.

16
00:01:05,640 --> 00:01:08,890
In quel caso sono in realtà chiamati metodi piuttosto che proprietà.

17
00:01:09,060 --> 00:01:14,360
Quindi, di nuovo, un metodo è solo una funzione che è una proprietà invece di un oggetto.

18
00:01:14,400 --> 00:01:15,610
Quindi posso farne uno qui.

19
00:01:15,660 --> 00:01:24,280
Chiamiamolo aggiungere add è una funzione e richiede due numeri xey e tutto ciò che fa.

20
00:01:24,520 --> 00:01:32,770
Se indentro correttamente, restituisco x più y.

21
00:01:33,330 --> 00:01:36,370
Quindi la grande novità qui è che stiamo semplicemente aggiungendo una funzione.

22
00:01:36,400 --> 00:01:37,850
Non importa ciò che fa la funzione.

23
00:01:37,860 --> 00:01:42,290
Qualsiasi funzione funzionerà qui e la stiamo semplicemente impostando come valore per la proprietà.

24
00:01:42,390 --> 00:01:51,270
E quindi se premo invio qui e guardiamo RBJ puoi vedere che è un oggetto e abbiamo 45 amici di età.

25
00:01:51,420 --> 00:01:54,440
Un array è un bel nome falso Chuck.

26
00:01:54,450 --> 00:01:56,920
E poi aggiungere è una funzione.

27
00:01:57,450 --> 00:02:05,610
Quindi, se volessimo chiamare add non potessimo semplicemente scrivere add, ciò che dobbiamo fare è scrivere obey j punto e

28
00:02:06,330 --> 00:02:11,790
proprio così e quindi diamo due numeri 10 e 5 e otteniamo 15.

29
00:02:12,270 --> 00:02:15,130
Quindi chiamarlo funziona nello stesso modo in cui abbiamo bisogno di parentesi.

30
00:02:15,150 --> 00:02:16,170
Abbiamo bisogno di argomenti.

31
00:02:16,200 --> 00:02:19,860
L'unica differenza è che non è solo per conto proprio.

32
00:02:19,860 --> 00:02:23,490
In realtà ora è al posto dell'oggetto OPG.

33
00:02:23,520 --> 00:02:26,810
Quindi questo potrebbe sembrare un po 'familiare da qualcosa di simile.

34
00:02:26,820 --> 00:02:30,350
Contrl Balog esattamente nello stesso formato.

35
00:02:30,420 --> 00:02:36,720
E si scopre che il consolato era un oggetto e log è un metodo su quell'oggetto e lo

36
00:02:36,780 --> 00:02:39,620
richiama proprio come abbiamo chiamato oggetto punto AD.

37
00:02:39,720 --> 00:02:41,810
Quindi funzionano esattamente allo stesso modo.

38
00:02:42,150 --> 00:02:46,230
Quindi ti starai chiedendo perché mai vorremmo aggiungere un metodo a un oggetto.

39
00:02:46,230 --> 00:02:50,340
Perché non solo le nostre funzioni sono definite separatamente in questo modo.

40
00:02:50,430 --> 00:02:54,190
Perché abbiamo bisogno di aggiungere all'interno dell'oggetto RBJ.

41
00:02:54,210 --> 00:02:55,770
Ci sono alcuni motivi.

42
00:02:55,770 --> 00:03:01,110
La prima è che ti aiuta a mantenere il codice organizzato in modo da poter raggruppare le cose logicamente

43
00:03:01,110 --> 00:03:05,580
insieme per illustrare uno dei vantaggi dell'aggiunta delle tue funzioni come metodo su un oggetto.

44
00:03:05,700 --> 00:03:07,800
Ho intenzione di fare un rapido esempio qui.

45
00:03:07,800 --> 00:03:12,420
Quindi torneremo al nostro esempio preferito di cani e gatti e diciamo che

46
00:03:12,420 --> 00:03:14,710
volevo creare un metodo chiamato speak.

47
00:03:15,870 --> 00:03:22,890
E supponiamo di voler fare una funzione chiamata parlare e parlare tutto quello che deve fare è

48
00:03:23,350 --> 00:03:23,960
restituire cosa.

49
00:03:24,120 --> 00:03:26,770
Quindi questo è per un cane o un lupo.

50
00:03:27,240 --> 00:03:28,330
E questo è tutto.

51
00:03:28,530 --> 00:03:29,700
Molto semplice.

52
00:03:29,700 --> 00:03:33,290
E posso chiamare parlare così e capisco cosa.

53
00:03:34,080 --> 00:03:39,690
Supponiamo che io voglia anche un metodo chiamato Speak to work for cat e che dovrebbe tornare.

54
00:03:39,690 --> 00:03:40,530
Miao.

55
00:03:40,830 --> 00:03:43,590
Bene, se scrivo la

56
00:03:46,740 --> 00:03:50,600
funzione, parlo e ritorna miagolio.

57
00:03:51,480 --> 00:03:54,160
E questa volta chiamo parla, ottengo Meow.

58
00:03:54,450 --> 00:03:58,470
Ma ora non ho modo di accedere al mio discorso originale che ha restituito Wolf.

59
00:03:58,770 --> 00:04:01,830
Quindi quello che è successo qui è qualcosa chiamato collisione di namespace.

60
00:04:01,890 --> 00:04:06,180
Quindi questo è solo un modo elegante per dire che abbiamo due cose diverse che hanno lo stesso nome.

61
00:04:06,450 --> 00:04:11,930
Quindi, se invece abbiamo aggiunto queste funzioni come metodi a un oggetto, potremmo avere due cose diverse

62
00:04:12,000 --> 00:04:12,710
chiamate speak.

63
00:04:12,780 --> 00:04:14,880
Inserendoli in spazi diversi per i nomi.

64
00:04:14,970 --> 00:04:20,490
fare ciò che potremmo semplicemente creare qualcosa chiamato var dog space e questo è solo un oggetto vuoto.

65
00:04:20,490 --> 00:04:21,740
Quindi è davvero semplice

66
00:04:22,380 --> 00:04:27,670
E poi diciamo solo che dog space dot speak è una funzione.

67
00:04:29,640 --> 00:04:34,230
E restituiamo cosa.

68
00:04:35,290 --> 00:04:39,060
E facciamo la stessa cosa per lo spazio gatto Vark.

69
00:04:39,150 --> 00:04:44,130
Quindi lo spazio gatto spaziale Dog è solo un nome per inventarsi e saranno solo oggetti vuoti a

70
00:04:44,130 --> 00:04:45,540
cui aggiungeremo i nostri metodi.

71
00:04:45,750 --> 00:04:53,910
Quindi posso dire che il punto dello spazio del gatto parla uguale alla funzione e tutto ciò che facciamo qui è il ritorno.

72
00:04:54,040 --> 00:04:55,530
Si.

73
00:04:56,940 --> 00:05:01,760
Quindi, se voglio chiamare parlare per un cane, voglio che restituisca Wolf.

74
00:05:01,790 --> 00:05:07,170
Tutto quello che devono fare è leggere lo spazio Dog e se vogliono vedermi

75
00:05:07,170 --> 00:05:11,480
sapere tutto quello che devo fare è eseguire cat space dot speak.

76
00:05:13,020 --> 00:05:15,130
Quindi, ancora una volta è solo una fantasia.

77
00:05:15,600 --> 00:05:18,660
Quindi questo è solo un bel modo di organizzare il nostro codice.

78
00:05:18,660 --> 00:05:23,850
Prima di tutto, possiamo avere un sacco di metodi che sono raggruppati logicamente insieme, quindi tutti i metodi del cane

79
00:05:23,850 --> 00:05:28,060
entrano in quello spazio per i cani tutti i metodi del gatto vanno in quello spazio gatto.

80
00:05:28,320 --> 00:05:31,530
Ma è anche un modo per evitare queste collisioni nello spazio dei nomi.

81
00:05:31,530 --> 00:05:36,090
Ora so che sei stanco di cani e gatti e non sembra un esempio

82
00:05:36,090 --> 00:05:41,790
del mondo reale ma ti posso assicurare la stessa logica esatta per qualcosa come commenti, post e tag.

83
00:05:42,090 --> 00:05:44,990
Potresti avere un metodo chiamato nuovo o cancella.

84
00:05:45,180 --> 00:05:48,030
Per i commenti potremmo averne uno chiamato delete posts.

85
00:05:48,090 --> 00:05:53,040
Un altro chiamato Elimina per gli utenti e abbiamo bisogno di questi spazi dei nomi in modo

86
00:05:53,040 --> 00:05:54,390
che non tutti i conflitti.

87
00:05:54,390 --> 00:06:00,930
Quindi, piuttosto che scrivere solo eliminazioni, avremmo l'eliminazione dell'utente e quindi potremmo avere l'eliminazione post-START e il

88
00:06:01,530 --> 00:06:07,550
commento delete e vedremo cose del genere tutte le volte che riceviamo tabac e programmazione.

89
00:06:07,980 --> 00:06:13,530
Quindi, per riassumere quello che abbiamo trattato finora, siamo in grado di aggiungere metodi a un oggetto, il che

90
00:06:13,530 --> 00:06:17,910
significa che stiamo aggiungendo una funzione come proprietà e possiamo aggiungerla come qualsiasi altra proprietà.

91
00:06:17,940 --> 00:06:20,270
Trattalo come una stringa o un numero.

92
00:06:20,430 --> 00:06:23,240
E questo perché le funzioni sono valori in javascript.

93
00:06:23,340 --> 00:06:24,650
Possiamo passarli in giro.

94
00:06:24,720 --> 00:06:29,040
Possiamo aggiungerli come valore a un oggetto che è davvero molto utile.

95
00:06:29,040 --> 00:06:32,080
La seconda cosa di cui abbiamo parlato è perché lo faresti mai.

96
00:06:32,100 --> 00:06:37,050
abbiamo parlato è che impedisce le collisioni nello spazio dei nomi, il che significa semplicemente che possiamo raggruppare il codice.

97
00:06:37,050 --> 00:06:38,370
La prima ragione per cui

98
00:06:38,520 --> 00:06:43,080
Ciò significa che possiamo avere proprietà, funzioni e metodi denominati esattamente allo stesso modo, tranne che

99
00:06:43,470 --> 00:06:46,750
sono memorizzati in oggetti diversi in modo che non siano in conflitto
