Hướng dẫn này chỉ cung cấp đủ kiến thức về JavaScript để bạn bắt đầu viết tập lệnh Earth Engine. Để xem hướng dẫn chi tiết hơn về JavaScript, hãy tham khảo các tài nguyên này dành cho nhà phát triển Mozilla. Để xem phần giới thiệu về lập trình, kèm theo các ví dụ bằng JavaScript, hãy xem bài viết Eloquent JavaScript (JavaScript hùng hồn). Để biết các đề xuất về kiểu lập trình JavaScript, hãy xem Hướng dẫn về kiểu lập trình JavaScript của Google. Trong hướng dẫn này, bạn sẽ viết JavaScript trong Trình soạn thảo mã của Earth Engine. Trước khi bắt đầu, hãy tham khảo hướng dẫn về Trình soạn thảo mã để làm quen với môi trường Trình soạn thảo mã.
Xin chào!
Đã đến lúc viết mã JavaScript đầu tiên cho Earth Engine! Trong trình duyệt Chrome, hãy truy cập vào code.earthengine.google.com rồi sao chép đoạn mã sau vào Trình soạn thảo mã:
Trình soạn thảo mã (JavaScript)
print('Hello World!');
Nhấp vào Run (Chạy) và quan sát thấy "Hello world!" được in trên thẻ Console (Bảng điều khiển). Dòng trên là một câu lệnh JavaScript. Trong JavaScript, các câu lệnh kết thúc bằng dấu chấm phẩy. Các chương trình Earth Engine được tạo thành từ một tập hợp các câu lệnh như thế này. Bạn có thể ngăn mã chạy mà không cần xoá mã bằng cách chú thích mã. Một trong những cách để đánh dấu là nội dung nhận xét là đặt hai dấu gạch chéo lên // trước đoạn mã mà bạn không muốn chạy. Ví dụ:
Trình soạn thảo mã (JavaScript)
// print('Hello World!');Bạn nên thêm nhiều nhận xét vào mã để mô tả những gì bạn đang cố gắng thực hiện. Bạn cũng nên xoá mã nhận xét không còn hoạt động nữa. Cả hai phương pháp này đều giúp cải thiện khả năng đọc mã.
Các loại dữ liệu JavaScript cơ bản
Chuỗi
Việc sử dụng các biến để lưu trữ đối tượng và dữ liệu gốc giúp mã dễ đọc hơn. Ví dụ:
một biến lưu trữ đối tượng chuỗi được xác định bằng dấu nháy đơn ' hoặc dấu nháy kép
" (nhưng không kết hợp cả hai), trong đó
dấu nháy đơn
được ưu tiên. Tạo một chuỗi mới và lưu trữ chuỗi đó trong một biến có tên là greetString:
Trình soạn thảo mã (JavaScript)
// Use single (or double) quotes to make a string. var greetString = 'Ahoy there!'; // Use parentheses to pass arguments to functions. print(greetString);
Numbers
Xin lưu ý rằng các biến được xác định bằng từ khoá var. Biến cũng có thể lưu trữ số:
Trình soạn thảo mã (JavaScript)
// Store a number in a variable. var number = 42; print('The answer is:', number);
Trong ví dụ này, hãy lưu ý rằng khi print() được cung cấp hai đối số được phân tách bằng dấu phẩy, mỗi đối số sẽ được in trên một dòng khác nhau.
Danh sách
Xác định danh sách bằng dấu ngoặc vuông []. Danh sách số, ví dụ:
Trình soạn thảo mã (JavaScript)
// Use square brackets [] to make a list. var listOfNumbers = [0, 1, 1, 2, 3, 5]; print('List of numbers:', listOfNumbers);
Danh sách cũng có thể lưu trữ chuỗi hoặc các đối tượng khác. Ví dụ:
Trình soạn thảo mã (JavaScript)
// Make a list of strings. var listOfStrings = ['a', 'b', 'c', 'd']; print('List of strings:', listOfStrings);
Đối tượng
Đối tượng trong JavaScript là từ điển của các cặp key: value. Tạo một đối tượng (hoặc từ điển) bằng dấu ngoặc nhọn {}, ví dụ:
Trình soạn thảo mã (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);
Xin lưu ý rằng bạn có thể lấy giá trị từ từ điển bằng cách cung cấp khoá. Ví dụ này cho bạn biết cách thực hiện việc đó đối với các đối tượng JavaScript. Sau này, bạn sẽ tìm hiểu cách thực hiện việc này cho các từ điển có trên máy chủ Earth Engine.
Hàm
Hàm là một cách khác để cải thiện khả năng đọc và khả năng sử dụng lại mã bằng cách nhóm các tập hợp thao tác. Xác định hàm bằng từ khoá function. Tên hàm bắt đầu bằng một chữ cái và có một cặp dấu ngoặc đơn ở cuối. Hàm thường nhận các tham số để cho hàm biết việc cần làm. Các tham số này nằm trong dấu ngoặc đơn (). Tập hợp các câu lệnh tạo nên hàm nằm trong dấu ngoặc nhọn. Từ khoá return cho biết kết quả của hàm. Có
một số cách để khai báo hàm, nhưng ở đây chúng ta sẽ sử dụng cách như sau:
Trình soạn thảo mã (JavaScript)
var myFunction = function(parameter1, parameter2, parameter3) { statement; statement; statement; return statement; };
Hãy xem xét từng dòng một. Dòng đầu tiên tạo một hàm mới và gán hàm đó cho biến myFunction. Biến này có thể được đặt tên bất kỳ. Nó xác định cách gọi hàm sau này. Các từ trong dấu ngoặc đơn sau tên hàm (tức là parameter1, parameter2, parameter3) là tên tham số và có thể được đặt tên bất kỳ, mặc dù bạn nên đặt tên riêng biệt cho các tham số này, khác với mã bên ngoài hàm. Dù bạn đặt tên cho các tham số này là gì, thì đây cũng là những tên mà hàm sẽ sử dụng để tham chiếu đến các giá trị được truyền vào hàm khi hàm được gọi. Giá trị của một tham số sau khi được truyền vào một hàm được gọi là đối số. Mặc dù các hàm có thể sử dụng các biến được khai báo bên ngoài hàm (biến toàn cục), nhưng các đối số hàm không hiển thị bên ngoài hàm. Hàm có thể nhận bao nhiêu tham số tuỳ ý, thậm chí là không có tham số nào. Dưới đây là ví dụ đơn giản về một hàm chỉ trả về đối số của hàm đó:
Trình soạn thảo mã (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!'));
Đây là ví dụ về một hàm do người dùng xác định. Ngoài ra, còn có nhiều hàm tích hợp sẵn trong Earth Engine. Khám phá thẻ Tài liệu của Trình soạn thảo mã để tìm hiểu về các hàm tích hợp sẵn này. Sau đây là một ví dụ rất đơn giản về hàm Earth Engine:
Trình soạn thảo mã (JavaScript)
var aString = ee.Algorithms.String(42);
Trong phần tiếp theo, hãy tìm hiểu thêm về Đối tượng và phương thức của Earth Engine.