jesteś tutaj
135
Przedstawienie funkcji
Zmienne globalne i lokalne
Poznaj różnice lub ryzykuj upokorzenie
Już wiesz, że zmienną można zadeklarować w dowolnym
miejscu skryptu, używając do tego celu słowa kluczowego
var
i nazwy.
function getScore(points) {
var score;
var i = 0;
while (i < levelThreshold) {
//code here
i = i + 1;
}
return score;
}
Zmienne points, score
oraz i są zmiennymi
zadeklarowanymi wewnątrz
funkcji.
var avatar;
var levelThreshold = 1000;
To zmienne globalne, które
są dostępne w całym
naszym kodzie JavaScript.
Jeśli zmienna została
zadeklarowana poza
funkcją, jest zmienną
GLOBALNĄ. Jeśli
natomiast została
zadeklarowana wewnątrz
funkcji, jest zmienną
LOKALNĄ.
Nazywamy je zmiennymi
lokalnymi, gdyż są znane
wyłącznie wewnątrz danej
funkcji.
Musimy porozmawiać
o tym, jak używasz
zmiennych…
Niezależnie od tego, że używamy
levelTreshold wewnątrz funkcji, jest
ona zmienną globalną, gdyż została
zadeklarowana poza funkcją.
Czy to ma jakieś znaczenie? Przecież zmienne to zmienne,
prawda? Otóż to,
gdzie zmienna zostanie zadeklarowana,
określa jej
widoczność dla pozostałych fragmentów kodu.
Później zrozumienie tych dwóch rodzajów zmiennych pomoże
w tworzeniu kodu, który będzie łatwiejszy w utrzymaniu
(nie wspominamy w ogóle o umożliwieniu zrozumienia kodu
pisanego przez innych).
Wiesz również, że zmienne można deklarować
wewnątrz funkcji.
136
Rozdział 3.
Konwencje nazewnicze zmiennych
Kolejne słuszne spostrzeżenie
Zastosowanie nazwy
i
dla zmiennej służącej do
sterowania iteracją w pętlach ma bardzo długą
tradycję. Konwencja ta sięga dawnych czasów, kiedy
to przestrzeń do pisania programów była ograniczona
(jak było w przypadku kart i taśm perforowanych),
a stosowanie krótkich nazw miało duże zalety. Obecnie
jest to konwencja, którą rozumieją wszyscy programiści.
Często można się także spotkać z nazwami
j
i
k
,
stosowanymi w podobny sposób, a nieco rzadziej, nawet
z nazwami
x
i
\
. Jednak jest to chyba jedyny wyjątek
od powszechnej, dobrej praktyki nadawania zmiennym
sensownych, opisowych nazw.
Hej, mam jedno
pytanie. Rozmawialiśmy wcześniej
o tym, że warto nadawać zmiennym
sensowne nazwy, które coś znaczą.
A w ostatnim przykładzie użyliście nazwy i.
Nie wydaje mi się, by nazwa ta miała
jakieś znaczenie.
Get Programowanie w JavaScript Rusz głową! now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.