XtGem Forum catalog
khai dai nhan







phần mềm hỗ trợđổi tone onlinecảm âm sáobẩn bựa hội

CHÀO MỪNG ĐẾN VỚI WAP,
MÌNH LÀ" BẨN BỰA BOY" CÁC BẠN LÊN YOUTUBE TÌM MÌNH VỚI TỪ KHOÁ "BẨN BỰA BOY" HOẶC CLICK VÀO
nhớ supcribe kênh của mình nha , mình sẽ liên tục cập nhật những beat sáo c5 và những bản sáo hay nhất cho các bạn
fanpage: cảm âm sáo trúc vũ gia
mua sáo trúc liên hệ : 01635618531

Bài 08: Hàm và tạo hàm (function) trong javascript

Hàm là một phương pháp lập trình truyền thống và thường được ứng dụng trong các phương pháp lập trình thủ tục, lập trình hướng module,... Với các ngôn ngữ lập trình bậc cao như C++ thì việc dùng hàm để code ứng dụng là người ta không thích tại vò khó quản lý bảo trì, nhưng đối với javascript và PHP thì ta rất hay dùng hàm.

1. Định nghĩa hàm (function) trong javascript

Từ bài 1 tới giờ ta đang code từng đoạn code riêng lẻ và khi cần thì code lại, như vậy giả sử ta cần xử lý vấn đề đó trong 1000 trường hợp thì ta phải code lại 1000 lần nên rất tốn thời gian. Chính vì vậy người ta nghĩ ngay đến Hàm, có nghĩa là sẽ gom một số đoạn code vào một khối xử lý và khi cần thì gọi ra dùng.

Giả sử mình viết chương trình kiểm tra số chẵn hay lẻ như sau:

var number = 2;

if (number % 2 == 0){
   alert('Số chẵn');
}
else {
   alert('Số lẻ');
}
Giả sử mình cần kiểm tra cho 100 số, như vậy mình cứ viết if else cho 100 lần quá nản phải không nào :D. Để giải quyết nó ta tìm hiểu hàm đã nhé.

Cú pháp tạo hàm trong javascript

function name_of_function(var1, var2, var3, ...)
{
    // Some code
}
Trong đó:

  • function: là từ khóa của javascript nên bắt buộc phải như vậy
  • name_of_function: là tên của function, thông thường chúng ta tạo những tên có ý nghĩa như find_max, find_min, ...
  • var1, var2 var3, ... là các tham số truyền vào hàm. Ví dụ viết hàm kiểm tra số chẵn hay lẽ thì ta sẽ có một tham số đó là số cần kiểm tra.
Ví dụ: Viết hàm kiểm tra một số chẵn hay lẻ. XEM DEMO

// Tạo hàm
function check_number(number)
{
    if (number % 2 == 0){
        alert(number + ' là số chẵn');
    }
    else {
        alert(number + 'Số lẻ');
    }
}

// Sử dụng hàm kiểm tra cho 5 số
check_number(1);
check_number(2);
check_number(3);
check_number(4);
check_number(5);
Các bạn thấy mình đã tạo một hàm với tham số truyền vào có tên là number. Như vậy khi sử dụng nếu ta truyền số 1 vào thì lúc này biến number trong hàm sẽ có giá trị là 1, tương tự cho 2, 3,4,5.

Lưu ý với các bạn trong javascript không tồn tại khái niệm con trỏ và tham chiếu trong hàm

2. Hàm có return và hàm không có return

Hàm có return là hàm có sử dụng từ khóa return để đặt ở cuối hàm với mục đích trả kết quả về để sử dụng tiếp ở những đoạn code bên ngoài.  Ví dụ ta cần viết một hàm tính tổng của hai số a và b thì hàm này phải trả về giá trị là tổng của hai số a, b. Xem ví dụ sau: XEM DEMO

// Khai báo hàm
function tinh_tong(a, b)
{
    // trả về kết quả là a + b
    return a + b;
}

// Sử dụng
var so1 = 1;
var so2 = 2;

// truyền so1 và so2 vào hàm
var ketqua = tinh_tong(so1, so2);

alert(ketqua);

Hàm không có return là hàm không có sử dụng từ khóa return đặt trong hàm. Ví dụ viết chương trình in ra tổng của hai số a và b. XEM DEMO

// Khai báo hàm
function tinh_tong(a, b)
{
    document.write('Tổng là ' + (a + b));
}

// Sử dụng
var so1 = 1;
var so2 = 2;

// truyền so1 và so2 vào hàm
tinh_tong(so1, so2);
Như vậy tùy vào mục đích mà ta dùng có return hay không có return. Nhưng thông thường ta sử dụng return ở những trường hợp cần lấy kết quả đó để xử lý tiếp, như ở ví dụ trên đó là mình lấy kết quả để alert.

3. Một số ví dụ tạo hàm trong javascript

Ví dụ 1: Viết chương trình kiểm tra một năm có phải là năm nhuận hay không XEM DEMO

Năm nhuận là năm chia hết cho 4, nếu chia hết cho 100 thì nó phải chia hết cho 400. Đây là định nghĩa năm nhuận còn chính xác hay không thì mình không biết nhé :D vì có trường hợp nó sai.

// khai báo hàm
function kiem_tra_nam_nhuan(nam)
{
    // nếu năm chia hết cho 100
    // thì kiểm tra nó có chia hết cho 400 hay không
    if (nam % 100 == 0)
    {
        // nêu chia hết cho 400 thì là năm nhuận
        if (nam % 400 == 0){
            alert(nam + ' là năm nhuận');
        }
        else { // ngược lại không phải năm nhuận
            alert(nam + ' không phải năm nhuận');
        }
    }
    else if (nam % 4 == 0){ // trường hợp chia hết cho 4 thì là năm nhuận
        alert(nam + ' là năm nhuận');
    }
    else { // cuối cùng trường hợp không phải năm nhuận
        alert(nam + 'không phải là năm nhuận');
    }
}
// sử dụng
kiem_tra_nam_nhuan(4);

Ví dụ 2: thực hiện lại ví dụ trên nhưng sử dụng return để trả kết quả vè, nếu true thì là năm nhuận, false thì không phải năm nhuận. XEM DEMO

// khai báo hàm
function kiem_tra_nam_nhuan(nam)
{
    // nếu năm chia hết cho 100
    // thì kiểm tra nó có chia hết cho 400 hay không
    if (nam % 100 == 0)
    {
        // nêu chia hết cho 400 thì là năm nhuận
        if (nam % 400 == 0){
            return true;
        }
        else { // ngược lại không phải năm nhuận
            return false;
        }
    }
    else if (nam % 4 == 0){ // trường hợp chia hết cho 4 thì là năm nhuận
        return true;
    }
    else { // cuối cùng trường hợp không phải năm nhuận
        return false;
    }
}
// sử dụng
var flag = kiem_tra_nam_nhuan(4);

if (flag){
    alert('là năm nhuận');
}
else {
    alert('không phải là năm nhuận');
}

Trong ví dụ này thay vì alert trực tiếp trong hàm thì ta trả về kết quả true/false, sau đó kiểm tra kết quả này nếu true thì là năm nhuận, nếu false thì không phải là năm nhuận.

4. Lời kết

Qua bài này bạn phải hiểu được cách sử dụng hàm và tạo hàm trong javascript, hiểu được trong javascript không tồn tại khái niệm con trỏ và tham chiếu, hiểu được hai cách sử dụng hàm là hàm có return và hàm không có return. Chúc bạn học tốt!

Nguồn: http://freetuts.net/ham-va-tao-ham-function-trong-javascript-274.html
Nguyễn Văn Cường
Nguyễn Văn Cường

Với sở thích viết tuts để học hỏi và chia sẽ kiến thức nên từng tham gia viết ở nhiều diễn đàn. Có thể code cả ngày mà quên ăn, đến lúc nhớ ra thì 2,3 tô không nhằm nhò gì. 25 tuổi có MỘT vợ MỘT con nên được gọi là tuổi trẻ tài cao =]]

Bạn có thể đăng câu hỏi cho bài viết tại trang hỏi đáp

game mien phi

số lượng khách truy cập
66
Tags :
cong dong a7 tlhp
Chào mừng tới ruolua.wap.sh -ruồi lửa