Zmienne lokalne i globalne
-
0:01 - 0:03Opanowaliście już podstawy funkcji,
-
0:03 - 0:07a teraz pomówmy o czymś
trochę trudniejszym: -
0:07 - 0:11o różnicy między zmiennymi
lokalnymi i globalnymi. -
0:11 - 0:14Może nie znacie tych terminów.
-
0:14 - 0:16Zacznijmy od przykładu.
-
0:16 - 0:20Napisałam program, który pokaże,
ile cali urosłam w dzieciństwie. -
0:20 - 0:24Ludzie rosną w różnym tempie.
Wymyśliłam funkcję, „calcInches”, -
0:25 - 0:29gdzie wprowadzam wiek startowy
i końcowy oraz cale rocznie. -
0:29 - 0:35Program oblicza, ile urosłam
w danym okresie -
0:35 - 0:37i podaje wynik.
-
0:37 - 0:40Tu jest okres od 0 do 8 lat.
-
0:40 - 0:45Przywołuję „calcInches”
i wprowadzam 0, 8 oraz 2,5. -
0:45 - 0:48Ponieważ rosłam
jakieś 2,5 cala rocznie. -
0:48 - 0:52Program oblicza i podaje wynik: 20.
-
0:52 - 0:58Teraz okres od 8. do 16. roku.
Wprowadzam 8, 16 i 2, -
0:58 - 1:02bo wtedy tak szybko nie rosłam.
Wynik: 16. -
1:02 - 1:05Świetnie, ale chcę pokazać,
-
1:05 - 1:09o ile cali urosłam
w całym dzieciństwie. -
1:09 - 1:11Jak to zrobić?
-
1:12 - 1:15Spojrzę na program i pomyślę:
-
1:15 - 1:17„Jakie mam tu wartości?”.
-
1:17 - 1:20Czy coś może pokazywać
całkowitą liczbę cali? -
1:21 - 1:24Mam zmienną „totalInches”
(całkowita liczba cali) -
1:24 - 1:26wewnątrz funkcji „calcInches”,
-
1:26 - 1:30więc mogę zobaczyć,
co tu jest. Zacznę tutaj. -
1:31 - 1:36Wpiszmy „totalInches, 10, 200”
i umieśćmy to na dole. -
1:36 - 1:39Co mamy?
-
1:39 - 1:41Pokazał się ludzik „O, nie!”.
-
1:41 - 1:43Mówi, że jest problem:
-
1:43 - 1:45„totalInches” niezdefiniowane!
-
1:45 - 1:50Dziwne. Przecież to definiowaliśmy.
-
1:50 - 1:52„var totalInches =”.
-
1:52 - 1:54Kłopot polega na tym,
że określiliśmy -
1:55 - 1:59„totalInches” wewnątrz funkcji.
W tym wierszu. -
2:00 - 2:02Zmienna, którą określimy w funkcji,
-
2:02 - 2:04to tzw. zmienna lokalna.
-
2:05 - 2:09Żyje tylko w tej funkcji.
-
2:09 - 2:12Program poza funkcją
-
2:12 - 2:15nie widzi zmiennych lokalnych
wewnątrz niej. -
2:15 - 2:18Widzi tylko to,
co zostanie zwrócone. -
2:18 - 2:21Widzi tę wartość, ale nie zmienną.
-
2:21 - 2:25Gdy próbujemy użyć
„totalInches” poza funkcją, -
2:25 - 2:27program nie wie, co to jest i mówi:
-
2:27 - 2:31„Nie znam tej zmiennej.
Nie jest zdefiniowana, nie pokażę jej”. -
2:32 - 2:37Jest sposób, żeby program
na zewnątrz widział zmienną. -
2:37 - 2:43Robimy ze zmiennej lokalnej
- globalną. -
2:43 - 2:47Musimy przesunąć definicję
poza funkcję, -
2:47 - 2:50do zakresu globalnego.
-
2:51 - 2:55Teraz, wewnątrz funkcji,
-
2:55 - 2:58zmieniamy tylko wartość.
Nie określamy funkcji. -
2:58 - 3:03Jak widać, tu mówi:
„całkowity wzrost - 16”. -
3:03 - 3:07Program znalazł zmienną,
bo stała się globalna. -
3:07 - 3:10Ale nie jest to wartość,
której szukamy. -
3:10 - 3:11Tylko wartość najświeższa.
-
3:11 - 3:14Bo zawsze, gdy przywołujemy funkcję,
-
3:14 - 3:18stosuje „totalInches”
do tego, co akurat liczy. -
3:19 - 3:22Chcemy więc mieć nową zmienną,
-
3:22 - 3:25w której będzie się zawierać
tylko całkowita suma -
3:25 - 3:29zwiększająca się
przy każdym obliczaniu. -
3:29 - 3:33Zamieńmy to z powrotem
na zmienną lokalną, -
3:34 - 3:38zróbmy nową zmienną globalną
o nazwie „lifeInches” -
3:38 - 3:40i zacznijmy od zera.
-
3:41 - 3:45Wewnątrz funkcji
dodamy coś do zmiennej globalnej -
3:45 - 3:49pisząc: „lifeInches += totalInches”.
-
3:49 - 3:53Dodamy sumę obliczoną
przy każdym przywołaniu funkcji. -
3:53 - 3:56Dodamy ją do zmiennej globalnej
„lifeInches”. -
3:56 - 4:00I wynik wyświetli się u dołu.
-
4:00 - 4:03Jest! Całkowity przyrost.
-
4:03 - 4:06Nie tyle mam wzrostu.
Jestem wyższa. -
4:07 - 4:11Bo rodzimy się mając więcej
niż 0 cali długości. -
4:11 - 4:14Żeby uzyskać całość, zacznę od 20.
-
4:14 - 4:17I tyle mam wzrostu.
-
4:17 - 4:19No dobrze, powtórzmy.
-
4:19 - 4:22„TotalInches” to zmienna lokalna.
-
4:22 - 4:25Wiemy to, bo widzimy ją
-
4:25 - 4:28wewnątrz tej funkcji,
a nie poza nią. -
4:29 - 4:31Tzn., że ten kod na zewnątrz
-
4:31 - 4:35nie wie o zmiennej „totalInches”.
-
4:35 - 4:38A „lifeInches”
to tzw. zmienna globalna. -
4:38 - 4:41Wiemy to, bo widzimy ją
poza funkcjami, -
4:41 - 4:43w naszym zakresie globalnym.
-
4:44 - 4:47Pamiętajcie o tym, określając
funkcje i zmienne. -
4:47 - 4:52I pomyślcie, czy chcecie mieć zmienną
lokalną tylko dla swojej funkcji, -
4:52 - 4:55czy globalną dla całego programu.
-
4:55 - 4:57Nie szkodzi,
że nie do końca rozumiecie. -
4:58 - 5:02To jedno z najtrudniejszych pojęć
w programowaniu, głównie w JavaScript. -
5:02 - 5:05Ćwiczcie, a będzie wam wychodzić
coraz lepiej!
- Title:
- Zmienne lokalne i globalne
- Description:
-
To jest nagranie ekranu z naszego interaktywnego wprowadzenia do kodowania, zrobione żeby ułatwić pracę nad napisami i tłumaczeniami. Lepiej obejrzeć właściwe wprowadzenie tutaj:
https://pl.khanacademy.org/cs/programming/ - Video Language:
- English
- Duration:
- 05:06
![]() |
Lech Mankiewicz edited Polish subtitles for Local and Global Variables (Video Version) | |
![]() |
Lech Mankiewicz edited Polish subtitles for Local and Global Variables (Video Version) | |
![]() |
przadka edited Polish subtitles for Local and Global Variables (Video Version) | |
![]() |
przadka edited Polish subtitles for Local and Global Variables (Video Version) | |
![]() |
przadka edited Polish subtitles for Local and Global Variables (Video Version) | |
![]() |
przadka edited Polish subtitles for Local and Global Variables (Video Version) | |
![]() |
przadka edited Polish subtitles for Local and Global Variables (Video Version) | |
![]() |
przadka edited Polish subtitles for Local and Global Variables (Video Version) |