JAVASCRIPT: CH7

Chương 7: Hàm trong javascript



7.1.  Khái niệm Hàm (functions)?
 Hàm (functions) là một hoặc nhiều câu lệnh được viết ra để thực thi một hoặc nhiều hành động khi gọi nó, hàm có khả năng gọi đi gọi lại được.
Ví dụ, thay vì tính tổng của 2 số nhất định chúng ta có thể sử dụng hàm để tính tổng của 2 số bất kỳ mà chúng ta muốn.
Có hai loại hàm, một là hàm có sẵn (chỉ việc gọi và dung), hai là hàm do người dùng tự định nghĩa.
7.2. Cấu trúc của hàm
Hàm trong javascript khai báo cũng giống như trong một số ngôn ngữ, nó bắt đầu phải có từ khóa function với các dạng như sau:
Hàm cơ bản
Đây là dạng cơ bản nhất của hàm trong Javascript, có cú pháp như sau:
function TenHam() {
        //code
}
Trong đó: TenHam là tên của hàm mà các bạn muốn đặt còn function là từ khóa bắt buộc.
VD: Tạo hàm lấy tên website.
function getWebsite() {
    document.write('http://tailieucntt.org');
}

Hàm có tham số truyền vào
Đây là một dạng hàm rất hay được sử dụng trong dự án.
Cú pháp:
function funName(param_1, ..., pram_n) {
        //code
}
Trong đó:
  • funName là tên của hàm các bạn muốn đặt.
  • param_1,...,pram_n là các tham số mà các bạn muốn truyền vào hàm(không giới hạn số lượng).
VD: Tạo hàm tính tổng của 2 số bất kì.
function getSum(a, b) {
        document.write('Tổng: ' + (a + b));
}

Hàm có tham số mặc định
-Đây thực ra là dạng hàm có truyền tham số và đồng thời xét luôn giá trị mặc định cho các tham số đó.
Cú pháp:
function funName(param_1 = value_1, ..., pram_n = value_2) {
        //code
}
Trong đó:
  • funName là tên của hàm các bạn muốn đặt.
  • param_1,...,pram_n là các tham số mà các bạn muốn truyền vào hàm(không giới hạn số lượng).
  • value_1,...,value_n là các giá trị tương ứng với các pram.
VD: với hàm getSum ở trên mình sẽ xét tham số mặc định cho nó.
function getSum(a = 1, b = 2) {
        document.write('Tổng: ' + (a + b));
}

Hàm có giá trị trả về và không trả về
Trong Javascript có hai loại hàm,đó là hàm có giá trị trả về và hàm không có giá trị trả về.
  • Đối với hàm có giá trị trả về thì phải sử dụng từ khóa return
  • Và ngược lại đối với hàm không có giá trị trả về thì không có từ khóa return.
VD: khai báo hàm getSum ở trên là hàm có giá trị trả về.
function getSum(a = 1, b = 2) {
        return a + b;
}

7.3. Gọi hàm
-Sau khi đã tạo được hàm thì giờ các bạn chỉ cần gọi hàm thôi.
Hàm cơ bản
Để gọi hàm này các bạn sử dụng cú pháp:
funName();
Trong đó: funName là tên của hàm các bạn muốn gọi.
VD: Gọi hàm getWebsite ở trên.
getWebsite();

Hàm có tham số truyền vào
Để gọi dạng hàm này thì các bạn cũng dùng cú pháp như hàm cơ bản, nhưng đồng thời các bạn truyền thêm các param vào theo cú pháp:
funName(param_1, ..., param_n);
VD: Ta sẽ gọi hàm getSum ở trên.
getSum(5, 6);

Hàm có tham số mặc định
-Để gọi dạng hàm này chúng ta có thể sử dụng cách gọi hàm cơ bản nếu không muốn truyền tham số, và cách gọi hàm có tham số truyền vào nếu muốn truyền tham số cho hàm.
VD: Mình sẽ gọi hàm getSum theo 2 cách.
getSum();
 
    document.write('<br>__________________________________<br>');
 
getSum(4, 5);

Hàm có giá trị trả về và không
Hàm này thì các bạn gọi như các ví dụ trên nhé.
VD: Mình sẽ gọi hàm getSum ở trên.
var kq1 = getSum();
//in kết quả hàm trả về
document.write(kq1);
//tạo khoảng ngăn cách cho các bạn dễ nhìn
document.write('<br>__________________________________<br>');
var kq2 = getSum(4, 5);
//in kết quả hàm trả về
document.write(kq2);

7.4. Các ràng buộc của tên hàm
Javascript cũng giống như các ngôn ngữ khác nó cũng có các ràng buộc về tên hàm sau đây:
  • Tên hàm phải được bắt đầu bằng chữ cái (a-z,A-Z) hoặc ký tự _.
  • Tên hàm không được bắt đầu bằng số, các ký tự khác ký tự _.


-----------
Mục lục:

Categories

AI (13) AI programming (1) ASP (1) Android (32) App Honeygain (4) Assembly (17) Biểu diễn thuật toán (1) Bubble-Sort (1) Bài giảng (2) Bài giảng lập trình C và Cpp (21) Bài viết hay (108) Bản đồ tư duy (1) C Plus Plus (103) C/C++ (16) CDSL phân tán (1) CSS (2) Cơ sở dữ liệu (11) Danh ngôn lập trình (1) Datamining (4) Genetic Algorithm (1) Giáo trình (2) Giải thuật tiến hóa - thuật toán di truyền (2) Google App Engine (2) Góc học tập (34) HTML (1) Hướng dẫn kiếm tiền online tại nhà (6) Hướng dẫn sử dụng Emu8086 (1) Học lập trình (131) Học lập trình C và CPP qua ví dụ (17) Java (54) Java Căn bản (6) JavaScript (5) Kỹ năng đọc hiệu quả (1) Kỹ thuật lập trình (16) Kỹ thuật đồ họa máy tính (10) Lý thuyết Cơ sở dữ liệu (2) Lý thuyết đồ thị (11) Lập trình Cơ sở dữ liệu (2) Lập trình Python (2) Lập trình căn bản (8) Lập trình hướng đối tượng với Java (7) Lập trình mobile (9) Lập trình mạng (6) Lập trình nhúng (1) Lập trình trí tuệ nhân tạo (2) ML (1) MMO (6) MS Access (1) Machine learning (2) Mạng máy tính (1) Mẹo tìm kiếm trên Google (1) Nghiên cứu khoa học (3) Ngôn ngữ lập trình (2) Những cuốn sách hay mà bạn nên đọc khi còn trẻ (1) Pascal (3) Phương pháp tính toán tối ưu (2) Phương pháp tối ưu (2) Quản lý dự án CNTT (1) SEO (1) SQL (5) Swift (9) Sách hay (4) Thiết kế Web (2) Thuật toán (51) Thuật toán Sắp Xếp -Sort (9) Thuật toán Tìm kiếm - Search (5) Thuật toán di truyền (4) Thực hành Android (2) Tin học văn phòng (5) Tiện ích máy tính (3) Toán rời rạc (13) Treo máy kiếm tiền (3) Trí tuệ nhân tạo (18) Tài liệu tham khảo (4) Tìm hiểu Blockchain (2) Tự học Android (3) Tự học Android qua ví dụ (1) Tự học JavaScript (1) Tự học lập trình (9) Tự học lập trình Android (17) Tự học lập trình C và CPP (14) Tự học lập trình java qua các ví dụ (8) XML (1) blockchain (2) bài giảng quản lý dự án CNTT (1) bài tập java (3) bài tập lập trình (4) cấu trúc dữ liệu giải thuật (15) hướng dẫn viết báo (1) học lập trình Java (11) học máy (5) hợp ngữ (8) lập trình viên (3) phưng pháp đơn hình (2) thuật toán AI (2) tài liệu CNTT miễn phí (3) tính toán tối ưu (1) tự học lập trình iOS (8) tự học lập trình python (1) ví dụ Assembly (1) Đại số gia tử và ứng dụng (1) Đồ họa (4)