1
00:00:01,380 --> 00:00:11,580
Witamy z powrotem w poprzednim filmie dowiadujemy się, że gdy nie jest to słowo kluczowe wewnątrz zadeklarowanej obiektu jego wartość jest obiektem globalnym.

2
00:00:11,820 --> 00:00:18,180
Niech szybko wykazać, co mam na myśli deklarowanej obiektu w przypadku poprzedniego filmu pozostało ci trochę zdezorientowany.

3
00:00:18,180 --> 00:00:21,250
Pamiętaj materiał tutaj jest dość trudne.

4
00:00:21,420 --> 00:00:28,410
Więc spróbuj oglądając te filmy kilka razy i wpisując przykłady kodu w celu wzmocnienia swojej wiedzy.

5
00:00:28,470 --> 00:00:31,310
Zamierzam dokonać pusty obiekt o nazwie danych.

6
00:00:31,440 --> 00:00:38,650
Co mam zrobić po prostu jest zadeklarowany obiekt obiekt danych nie istnieje, dopóki nie został zadeklarowany.

7
00:00:38,670 --> 00:00:46,610
Teraz mam zamiar dołączyć właściwość na ten obiekt nazywa instruktora i ustaw wartość równą LTE.

8
00:00:46,620 --> 00:00:55,150
Teraz nasze dane obiekty, które zadeklarowaliśmy ma klucz z wartością elhi wewnątrz niego.

9
00:00:55,230 --> 00:00:59,200
To jest to, co mamy na myśli, gdy mówimy, wewnątrz deklarowanej obiektu.

10
00:00:59,520 --> 00:01:01,750
Jeśli to wciąż myli, że wszystko jest w porządku.

11
00:01:01,800 --> 00:01:08,820
To sprawi, że nawet więcej sensu, gdy przyjrzymy się drugą regułę i zobaczyć słowa kluczowego to wnętrze obiektu.

12
00:01:08,820 --> 00:01:10,780
Teraz skończyć z pierwszą regułą.

13
00:01:11,010 --> 00:01:18,290
Jak widać tutaj, kiedy kładziemy kluczowe słowo to wewnątrz funkcji jego wartość nadal jest obiektem globalnym.

14
00:01:18,600 --> 00:01:28,590
Pamiętaj, że reguła globalna dotyczy, chyba że jest to słowo kluczowe wewnątrz zadeklarowanej obiektu ale wewnątrz funkcji już teraz.

15
00:01:28,950 --> 00:01:36,270
Kiedy więc wywołać funkcję co to jest wartość zwracana jest przedmiotem okno.

16
00:01:36,270 --> 00:01:38,340
Teraz spójrzmy na jednym ostatnim przykładzie.

17
00:01:38,640 --> 00:01:46,060
Co się stanie, jeśli przywiązujemy do kluczowych właściwości tego gdy jej wartość jest obiektem globalnym.

18
00:01:46,110 --> 00:01:52,640
I pamiętaj, kiedy mówię globalnego obiektu Znaczy obiekt okna w różnych środowiskach języka JavaScript.

19
00:01:52,680 --> 00:01:54,410
Wartość ta będzie się zmieniać.

20
00:01:54,540 --> 00:01:59,730
Ale ponieważ jesteśmy w przeglądarce globalny obiekt jest obiektem okno.

21
00:01:59,730 --> 00:02:05,340
Teraz rzućmy okiem na naszych zmiennych w tej funkcji w zmiennych w tej funkcji.

22
00:02:05,340 --> 00:02:12,100
Jesteśmy przyłączenie nieruchomości na kluczowych ta nazywana osoba i ustawienie go równa Ellie.

23
00:02:12,420 --> 00:02:23,340
Ponieważ słowo kluczowe odnosi się do globalnego obiektu cokolwiek możemy zamocować na nim staje się globalną zmienną, która oznacza, że ​​możemy używać go poza funkcją.

24
00:02:23,340 --> 00:02:28,930
Może to wydawać się może coś chcemy zrobić, ale w rzeczywistości jest to bardzo zła praktyka.

25
00:02:29,670 --> 00:02:34,680
Niech szybko ponownie, jak zmienne i zakres pracy w javascript.

26
00:02:34,680 --> 00:02:39,780
Mam zamiar zadeklarować zmienną o nazwie psa i powiedział wartość równą Rusty.

27
00:02:39,810 --> 00:02:50,610
Ja wtedy zamiar zrobić to funkcja o nazwie cisi osoba z wewnątrz zadeklarować zmienną o nazwie osoba korzystająca słowa kluczowego var i powiedział, że równa kodu.

28
00:02:50,790 --> 00:03:00,430
Odkąd oświadczył tej zmiennej wewnątrz funkcji, a ja nie wracam to jest wartość nie mam do niego dostęp poza funkcją.

29
00:03:00,450 --> 00:03:07,410
Jednak odkąd ogłosił mój pies zmienną w zakresie globalnym mam do niego dostęp wszędzie.

30
00:03:08,160 --> 00:03:16,020
Teraz możemy obejść problem nie jest w stanie wejść na naszą zmienną osobą przez pominięcie słowa kluczowego var wewnątrz naszej funkcji.

31
00:03:16,020 --> 00:03:18,900
Jednak jest to bardzo zła praktyka.

32
00:03:18,960 --> 00:03:34,370
Jest to generalnie najlepsze praktyki do deklarowania wszystkich naszych zmiennych, które chcemy wykorzystać w wielu funkcjach w górnej części naszego kodu, nawet jeśli nie mają one wartości, a następnie przypisać te wartości w późniejszym czasie w funkcji.

33
00:03:34,380 --> 00:03:44,400
Niestety, ponieważ słowo kluczowe jest to globalny obiekt jest dość łatwe do przypadkowego zadeklarować zmienne globalne wewnątrz funkcji.

34
00:03:44,400 --> 00:03:47,340
Zobaczmy przykład.

35
00:03:47,340 --> 00:03:57,060
Idę do funkcji o nazwie błąd wewnętrzna ustawić właściwość na kluczowych ten nazywany złym pomysłem jest równy ciąg.

36
00:03:57,100 --> 00:03:58,480
Ups.

37
00:03:58,770 --> 00:04:05,400
Teraz mam zamiar wywołać tą funkcję i możemy zobaczyć, że mam dostęp do moich złych zmiennej pomysł.

38
00:04:05,400 --> 00:04:09,390
Przypadkowo prostu się zmienną globalną.

39
00:04:09,390 --> 00:04:16,440
Na szczęście w tak 5 poprzednia wersja JavaScript czymś zwanym trybie strict dodano nam pomóc.

40
00:04:16,440 --> 00:04:21,870
Javascript programiści czytaj lepiej radzić sobie, gdy włączony jest tryb surowe.

41
00:04:21,960 --> 00:04:26,460
Które można zrobić dodając use strict w cudzysłów.

42
00:04:26,670 --> 00:04:31,760
Wartość tego hasła, kiedy wewnątrz funkcji jest niezdefiniowany.

43
00:04:31,800 --> 00:04:34,530
To nie jest obiektem globalnym.

44
00:04:34,530 --> 00:04:38,870
Oznacza to, że jeśli staramy się dołączyć właściwości na niego otrzymujemy typu błędu.

45
00:04:38,940 --> 00:04:44,270
Ponieważ nie możemy dołączyć do niezdefiniowanej właściwości może widzieliście tego błędu całkiem sporo.

46
00:04:44,280 --> 00:04:51,490
Zatrzymuje nas przypadkowe stworzenie zmiennych globalnych i pozwala na wykorzystanie javascript najlepszych praktyk.

47
00:04:52,140 --> 00:05:00,860
W tym filmie mamy przeglądowi pierwszą zasadę określania tego słowa kluczowego i zobaczyłem jak możemy przypadkowo tworzyć zmienne globalne wewnątrz funkcji.

48
00:05:00,870 --> 00:05:06,410
Widzieliśmy również w jaki sposób ścisły może powstrzymać nas od podejmowania tego błędu w następnym filmie.
