Là cha của một đứa trẻ 6 tuổi, hiện đang dạy trẻ nhỏ (và một người mới làm quen với việc viết mã mà không có giáo dục chính thức nên sẽ phải sửa), tôi nghĩ bài học sẽ tốt nhất khi chơi bằng tay. Nếu đứa trẻ 6 tuổi sẵn sàng hiểu thế nào là đóng cửa, thì chúng đủ lớn để tự đi. Tôi khuyên bạn nên dán mã vào jsfiddle.net, giải thích một chút và để chúng một mình để tạo ra một bài hát độc đáo. Các văn bản giải thích dưới đây có lẽ thích hợp hơn cho một đứa trẻ 10 tuổi.
function sing(person) {
var firstPart = "There was " + person + " who swallowed ";
var fly = function() {
var creature = "a fly";
var result = "Perhaps she'll die";
alert(firstPart + creature + "\n" + result);
};
var spider = function() {
var creature = "a spider";
var result = "that wiggled and jiggled and tickled inside her";
alert(firstPart + creature + "\n" + result);
};
var bird = function() {
var creature = "a bird";
var result = "How absurd!";
alert(firstPart + creature + "\n" + result);
};
var cat = function() {
var creature = "a cat";
var result = "Imagine That!";
alert(firstPart + creature + "\n" + result);
};
fly();
spider();
bird();
cat();
}
var person="an old lady";
sing(person);
HƯỚNG DẪN
DATA: Dữ liệu là một tập hợp các sự kiện. Nó có thể là số, từ, đo lường, quan sát hoặc thậm chí chỉ là mô tả của sự vật. Bạn không thể chạm vào nó, ngửi hoặc nếm nó. Bạn có thể viết nó ra, nói và nghe nó. Bạn có thể sử dụng nó để tạo mùi và vị giác bằng máy tính. Nó có thể được làm cho hữu ích bởi một máy tính sử dụng mã.
MÃ: Tất cả các văn bản trên được gọi là mã . Nó được viết bằng JavaScript.
JAVASCRIPT: JavaScript là một ngôn ngữ. Giống như tiếng Anh hoặc tiếng Pháp hoặc tiếng Trung Quốc là ngôn ngữ. Có rất nhiều ngôn ngữ được hiểu bởi máy tính và các bộ xử lý điện tử khác. Để máy tính hiểu được JavaScript, nó cần một trình thông dịch. Hãy tưởng tượng nếu một giáo viên chỉ nói tiếng Nga đến dạy lớp của bạn ở trường. Khi giáo viên nói "bình luận", cả lớp sẽ không hiểu. Nhưng may mắn thay, bạn có một học sinh người Nga trong lớp, người nói với mọi người điều này có nghĩa là "mọi người ngồi xuống" - vì vậy tất cả các bạn đều làm như vậy. Lớp học giống như một chiếc máy tính và học sinh người Nga là phiên dịch viên. Đối với JavaScript, trình thông dịch phổ biến nhất được gọi là trình duyệt.
BROWSER: Khi bạn kết nối Internet trên máy tính, máy tính bảng hoặc điện thoại để truy cập trang web, bạn sử dụng trình duyệt. Ví dụ bạn có thể biết là Internet Explorer, Chrome, Firefox và Safari. Trình duyệt có thể hiểu JavaScript và cho máy tính biết những gì nó cần làm. Các hướng dẫn JavaScript được gọi là các hàm.
CHỨC NĂNG: Một chức năng trong JavaScript giống như một nhà máy. Nó có thể là một nhà máy nhỏ chỉ có một máy bên trong. Hoặc nó có thể chứa nhiều nhà máy nhỏ khác, mỗi nhà máy có nhiều máy móc làm các công việc khác nhau. Trong một nhà máy sản xuất quần áo ngoài đời thực, bạn có thể có những mảnh vải và những sợi chỉ đi vào và áo phông và quần jean xuất hiện. Nhà máy JavaScript của chúng tôi chỉ xử lý dữ liệu, nó không thể may, khoan lỗ hoặc nung chảy kim loại. Trong dữ liệu nhà máy JavaScript của chúng tôi đi vào và dữ liệu đi ra.
Tất cả những thứ dữ liệu này nghe có vẻ hơi nhàm chán, nhưng nó thực sự rất tuyệt; chúng ta có thể có một chức năng nói cho robot biết phải làm gì cho bữa tối. Hãy nói rằng tôi mời bạn và bạn của bạn đến nhà tôi. Bạn thích chân gà nhất, tôi thích xúc xích, bạn của bạn luôn muốn những gì bạn muốn và bạn tôi không ăn thịt.
Tôi không có thời gian để đi mua sắm, vì vậy chức năng cần phải biết những gì chúng ta có trong tủ lạnh để đưa ra quyết định. Mỗi thành phần có thời gian nấu khác nhau và chúng tôi muốn mọi thứ được phục vụ nóng bởi robot cùng một lúc. Chúng ta cần cung cấp cho chức năng dữ liệu về những gì chúng ta thích, chức năng có thể 'nói chuyện' với tủ lạnh và chức năng có thể điều khiển robot.
Một hàm thường có tên, dấu ngoặc đơn và dấu ngoặc nhọn. Như thế này:
function cookMeal() { /* STUFF INSIDE THE FUNCTION */ }
Lưu ý rằng /*...*/
và //
dừng mã đang được trình duyệt đọc.
NAME: Bạn có thể gọi một chức năng về bất cứ từ nào bạn muốn. Ví dụ "cookMeal" là điển hình trong việc nối hai từ lại với nhau và đặt từ thứ hai một chữ in hoa ngay từ đầu - nhưng điều này là không cần thiết. Nó không thể có một khoảng trống trong đó và nó không thể là một số riêng.
PHỤ HUYNH: "Dấu ngoặc đơn" hoặc ()
là hộp thư trên cửa của nhà máy chức năng JavaScript hoặc hộp thư trên đường để gửi các gói thông tin đến nhà máy. Đôi khi, hộp thư có thể được đánh dấu chẳng hạn cookMeal(you, me, yourFriend, myFriend, fridge, dinnerTime)
, trong trường hợp đó bạn biết dữ liệu nào bạn phải cung cấp.
BRACES: "Niềng răng" trông giống như đây {}
là các cửa sổ được tô màu của nhà máy của chúng tôi. Từ bên trong nhà máy bạn có thể nhìn ra, nhưng từ bên ngoài bạn không thể nhìn thấy.
VÍ DỤ DÀI HẠN
Mã của chúng tôi bắt đầu bằng chức năng từ , vì vậy chúng tôi biết rằng đó là một! Sau đó, tên của hàm hát - đó là mô tả của riêng tôi về nội dung của hàm. Sau đó dấu ngoặc đơn () . Các dấu ngoặc luôn ở đó cho một hàm. Đôi khi chúng trống rỗng, và đôi khi chúng có một cái gì đó. Cái này có một từ trong : (person)
. Sau này có một cái nẹp như thế này {
. Điều này đánh dấu sự bắt đầu của hàm sing () . Nó có một đối tác đánh dấu sự kết thúc của sing () như thế này}
function sing(person) { /* STUFF INSIDE THE FUNCTION */ }
Vì vậy, chức năng này có thể có liên quan đến ca hát và có thể cần một số dữ liệu về một người. Nó có hướng dẫn bên trong để làm một cái gì đó với dữ liệu đó.
Bây giờ, sau hàm sing () , gần cuối mã là dòng
var person="an old lady";
BIỂU TƯỢNG: Các chữ cái var là viết tắt của "biến". Một biến giống như một phong bì. Ở bên ngoài phong bì này được đánh dấu "người". Ở bên trong nó chứa một tờ giấy với thông tin mà chức năng của chúng ta cần, một số chữ cái và khoảng trắng được nối với nhau như một chuỗi (nó được gọi là một chuỗi) tạo thành một cụm từ đọc "một bà già". Phong bì của chúng tôi có thể chứa các loại khác như số (được gọi là số nguyên), hướng dẫn (được gọi là hàm), danh sách (được gọi là mảng ). Bởi vì biến này được viết bên ngoài tất cả các dấu ngoặc nhọn {}
và bởi vì bạn có thể nhìn ra ngoài qua các cửa sổ được tô màu khi bạn ở trong dấu ngoặc nhọn, biến này có thể được nhìn thấy từ bất kỳ đâu trong mã. Chúng tôi gọi đây là "biến toàn cầu".
BIỂU TƯỢNG TOÀN CẦU: người là một biến toàn cầu, nghĩa là nếu bạn thay đổi giá trị của nó từ "một bà già" thành "một người đàn ông trẻ", người đó sẽ tiếp tục là một chàng trai trẻ cho đến khi bạn quyết định thay đổi nó một lần nữa và bất kỳ chức năng nào khác trong mã có thể thấy rằng đó là một chàng trai trẻ. Nhấn F12nút hoặc xem cài đặt Tùy chọn để mở bảng điều khiển dành cho nhà phát triển của trình duyệt và nhập "người" để xem giá trị này là gì. Nhập person="a young man"
để thay đổi và sau đó nhập "người" một lần nữa để thấy rằng nó đã thay đổi.
Sau này chúng ta có dòng
sing(person);
Dòng này đang gọi hàm, như thể nó đang gọi một con chó
"Hãy hát , đến và lấy người !"
Khi trình duyệt đã tải mã JavaScript đạt đến dòng này, nó sẽ khởi động chức năng. Tôi đặt dòng ở cuối để đảm bảo rằng trình duyệt có tất cả thông tin cần thiết để chạy nó.
Chức năng xác định hành động - chức năng chính là về ca hát. Nó chứa một biến được gọi là FirstPart , áp dụng cho việc hát về người áp dụng cho từng câu hát của bài hát: "Có" + người + "người nuốt". Nếu bạn nhập FirstPart vào bảng điều khiển, bạn sẽ không nhận được câu trả lời vì biến bị khóa trong một chức năng - trình duyệt không thể nhìn thấy bên trong các cửa sổ được tô màu của dấu ngoặc nhọn.
ĐÓNG GÓP: Các bao đóng là các hàm nhỏ hơn nằm trong hàm big sing () . Các nhà máy nhỏ bên trong nhà máy lớn. Mỗi người đều có niềng răng riêng, điều đó có nghĩa là các biến bên trong không thể nhìn thấy từ bên ngoài. Đó là lý do tại sao tên của các biến ( sinh vật và kết quả ) có thể được lặp lại trong các bao đóng nhưng với các giá trị khác nhau. Nếu bạn nhập các tên biến này trong cửa sổ giao diện điều khiển, bạn sẽ không nhận được giá trị của nó vì nó bị ẩn bởi hai lớp cửa sổ được tô màu.
Tất cả các bao đóng đều biết biến của hàm sing () được gọi là FirstPart là gì, bởi vì chúng có thể nhìn ra từ các cửa sổ được tô màu của chúng.
Sau khi đóng cửa đến dòng
fly();
spider();
bird();
cat();
Hàm sing () sẽ gọi từng hàm này theo thứ tự chúng được đưa ra. Sau đó, công việc của hàm sing () sẽ được thực hiện.