Ten samouczek zawiera wystarczającą ilość informacji o JavaScript, aby umożliwić Ci rozpoczęcie pisania skryptów Earth Engine. Bardziej szczegółowe samouczki dotyczące JavaScriptu znajdziesz w tych materiałach dla deweloperów od Mozilli. Wprowadzenie do programowania z przykładami w JavaScript znajdziesz w artykule Eloquent JavaScript. Wskazówki dotyczące stylu kodowania w JavaScript znajdziesz w przewodniku po stylu JavaScript od Google. W tym samouczku będziesz pisać kod w języku JavaScript w edytorze kodu Earth Engine. Zanim zaczniesz, zapoznaj się ze środowiskiem edytora kodu, korzystając z tego przewodnika.
Hello World
Czas napisać pierwszy kod JavaScript dla Earth Engine. W przeglądarce Chrome otwórz stronę code.earthengine.google.com i skopiuj poniższy kod do edytora kodu:
Edytor kodu (JavaScript)
print('Hello World!');
Kliknij Uruchom i zobacz, że na karcie Konsola wyświetla się „Hello world!”. Powyższa linia to instrukcja JavaScript. W JavaScript instrukcje kończą się średnikiem. Programy Earth Engine składają się z zestawu instrukcji takich jak ta. Aby uniemożliwić uruchomienie kodu bez jego usuwania, możesz go skomentować. Jednym ze sposobów na dodanie komentarza do kodu jest umieszczenie dwóch ukośników //
przed kodem, którego nie chcesz uruchamiać. Na przykład:
Edytor kodu (JavaScript)
// print('Hello World!');
Dobrze jest umieszczać w kodzie wiele komentarzy, aby opisywać, co chcesz zrobić. Warto też usuwać zakomentowany kod, który już nic nie robi. Obie te praktyki poprawią czytelność kodu.
Podstawowe typy danych JavaScript
Strings
Używanie zmiennych do przechowywania obiektów i typów prostych zwiększa czytelność kodu. Na przykład zmienna, która przechowuje obiekt ciągu znaków, jest definiowana przez pojedyncze '
lub podwójne "
cudzysłowy (ale nie mieszaj ich), przy czym preferowane są pojedyncze cudzysłowy. Utwórz nowy ciąg znaków i zapisz go w zmiennej o nazwie greetString
:
Edytor kodu (JavaScript)
// Use single (or double) quotes to make a string. var greetString = 'Ahoy there!'; // Use parentheses to pass arguments to functions. print(greetString);
Numbers
Pamiętaj, że zmienne są definiowane za pomocą słowa kluczowego var
. Zmienne mogą też przechowywać liczby:
Edytor kodu (JavaScript)
// Store a number in a variable. var number = 42; print('The answer is:', number);
W tym przykładzie zauważ, że gdy funkcja print()
otrzymuje 2 argumenty rozdzielone przecinkami, każdy argument jest drukowany w innym wierszu.
Listy
Listy definiuje się za pomocą nawiasów kwadratowych []
. Lista numerów, na przykład:
Edytor kodu (JavaScript)
// Use square brackets [] to make a list. var listOfNumbers = [0, 1, 1, 2, 3, 5]; print('List of numbers:', listOfNumbers);
Listy mogą też przechowywać ciągi znaków lub inne obiekty. Na przykład:
Edytor kodu (JavaScript)
// Make a list of strings. var listOfStrings = ['a', 'b', 'c', 'd']; print('List of strings:', listOfStrings);
Obiekty
Obiekty w JavaScript to słowniki par key: value
. Utwórz obiekt (lub słownik) za pomocą nawiasów klamrowych {}
, np.:
Edytor kodu (JavaScript)
// Use curly brackets {} to make a dictionary of key:value pairs. var object = { foo: 'bar', baz: 13, stuff: ['this', 'that', 'the other thing'] }; print('Dictionary:', object); // Access dictionary items using square brackets. print('Print foo:', object['foo']); // Access dictionary items using dot notation. print('Print stuff:', object.stuff);
Pamiętaj, że możesz uzyskać wartość ze słownika, podając klucz. Ten przykład pokazuje, jak to zrobić w przypadku obiektów JavaScript. Później dowiesz się, jak to zrobić w przypadku słowników znajdujących się na serwerze Earth Engine.
Funkcje
Funkcje to kolejny sposób na zwiększenie czytelności i ponownego wykorzystania kodu przez grupowanie zestawów operacji. Zdefiniuj funkcję za pomocą słowa kluczowego function
. Nazwy funkcji zaczynają się od litery i kończą parą nawiasów. Funkcje często przyjmują parametry, które określają, co funkcja ma zrobić. Parametry te umieszcza się w nawiasach ()
. Zestaw instrukcji tworzących funkcję umieszcza się w nawiasach klamrowych. Słowo kluczowe return
wskazuje, jakie są dane wyjściowe funkcji. Istnieje kilka sposobów deklarowania funkcji, ale tutaj użyjemy czegoś takiego:
Edytor kodu (JavaScript)
var myFunction = function(parameter1, parameter2, parameter3) { statement; statement; statement; return statement; };
Przyjrzyjmy się poszczególnym wierszom. Pierwszy wiersz tworzy nową funkcję i przypisuje ją do zmiennej myFunction
. Zmienna mogła mieć dowolną nazwę. Określa, jak później wywołać funkcję. Terminy w nawiasach po nazwie funkcji (czyli parametr1, parametr2, parametr3) to nazwy parametrów. Można im było nadać dowolne nazwy, ale warto używać unikalnych nazw, które różnią się od kodu poza funkcją. Niezależnie od tego, jak je nazwiesz, funkcja będzie używać tych nazw do odwoływania się do wartości przekazywanych do funkcji podczas jej wywoływania. Wartość parametru po przekazaniu do funkcji jest nazywana argumentem. Funkcje mogą używać zmiennych zadeklarowanych poza funkcją (zmienne globalne), ale argumenty funkcji nie są widoczne poza funkcją. Funkcje mogą przyjmować dowolną liczbę parametrów, nawet zero. Oto prosty przykład funkcji, która po prostu zwraca swój argument:
Edytor kodu (JavaScript)
// The reflect function takes a single parameter: element. var reflect = function(element) { // Return the argument. return element; }; print('A good day to you!', reflect('Back at you!'));
To jest przykład funkcji zdefiniowanej przez użytkownika. Dostępnych jest też wiele wbudowanych funkcji Earth Engine. Aby dowiedzieć się więcej o tych wbudowanych funkcjach, otwórz kartę Dokumenty w Edytorze kodu. Oto bardzo prosty przykład funkcji Earth Engine:
Edytor kodu (JavaScript)
var aString = ee.Algorithms.String(42);
W następnej sekcji dowiesz się więcej o obiektach i metodach Earth Engine.