Câu lệnh điều kiện trong javascript

Học Javascript 20/01/2015 07:00 580
Câu lệnh if-else trong Javascript cũng giống như PHP nói riêng và các ngôn ngữ khác nói chung, nếu điều kiện của mệnh đề đúng thì code phía trong sẽ được thực hiện, và ngược lại nếu sai thì nó sẽ không chạy code trong mệnh đề.

1. Câu lệnh if.

1.1 If

Cú pháp:

if (condition) {
	//nếu điều kiện đúng thì thực hiện
}

Trong đó

  • condition là một hoặc nhiều biểu thức điều kiện có giá trị trả về TRUE/FALSE.

Ví dụ:

<script type="text/javascript">
	var a = 5;
	var b = 6;
	if (a < b) {
		//Vì a nhỏ hơn b nên code phía trong if sẽ được chạy
		document.write('[a] nhỏ hơn [b]');
	}
</script>

Xem kết quả

1.2 Câu lệnh else.

Như mình đã nói ở phía trên thì câu lệnh if thực hiện khi điều kiện đi kèm nó đúng, và mệnh đề else sẽ thực hiện khi điều kiện của biểu thức if không được thỏa mãn.

Cú pháp:

if (condition == TRUE) {
	// nếu đúng thì chạy code trong này
} else {
	//nếu sai thì chạy code trong này
}

Ví dụ:

var a = 5;
var b = 6;
if (a > b) {
	//Vì a nhỏ hơn b nên code phía trong if sẽ được chạy
	document.write('a lớn hơn b');
}else{
	document.write('a nhỏ hơn b');
}

Xem kết quả

3. Kết hợp else if.

Trong nhiều trượng hợp khi bạn muốn xử lý đa nhánh như làm bài toán phân loại học lực thì lúc này bạn lên dùng else if để xử lý nhiều điều kiện khác với if.

Ví dụ: Tính học lực của học sinh

<script type="text/javascript">
	var diem_trung_binh = 5;
	if(diem_trung_binh < 4){
		document.write('Học lực Kém');
	}
	else if(diem_trung_binh >= 4 && diem_trung_binh < 6){
		document.write('Học lừng TB');
	}
	else if(diem_trung_binh >= 6 && diem_trung_binh < 7 ){
		document.write('Học lực khá');
	}
	else if(diem_trung_binh >= 7 && diem_trung_binh < 9){
		document.write('Học lực giỏi');
	}
	else if(diem_trung_binh >= 9 && diem_trung_binh <= 10){
		document.write('Học lực xuất sắc');
	}
	else{
		document.write('Điểm không hợp lệ');
	}
</script>

Xem kết quả

if-else lồng nhau.

Cũng giống như bài toán ở trước thì chúng ta có thể sử dụng nhiều if-else lồng nhau được.

Ví dụ:

<script type="text/javascript">
	var a = 5;
	var b = 10;
	if(a > b){
		document.writeln('[a] lơn hơn [b]');
	}else{
		if(a == (b/2)){
			document.writeln('[a] bằng 1/2 [b]');
		}else{
			document.writeln('[a] nhỏ hơn [b]');
		}
	}
</script>

Xem kết quả

1.4 if-else rút gọn.

Như đã nói ở bài trước thì chúng ta có một loại toán tử hỗn hợp là điều kiện. Thì thực chất đó cũng là một câu lệnh điều kiện:

Cú pháp:

(conditions)?(TRUE):(FALSE)

Trong đó:

  • Điều kiện là các biểu thức, mệnh đề trả về một trong hai giá trị TRUE/FALSE.
  • Nếu điều kiện đúng thì thực hiện lệnh TRUE.
  • Nếu điều kiện sai thì thực hiện lệnh FALSE.

Ví dụ:

<script type="text/javascript">
	var a = 5;
	var b = 10;
	document.writeln(a>b?'[a] lớn hơn [b]':'[a] nhỏ hơn [b]');
</script>

 

2. Switch...case.

Đây là một loại câu lệnh rẽ nhánh( hay còn gọi là câu lệnh điều kiện). Thì lện switch..case có đặc điểm là để giải quyết các bài toán mà có các nhánh là các điều kiện cố định.

Cú pháp:

switch(condition) {
        case value1:
            //some code
            break;
        case value2:
            //some code
            break;
        default:
            //some code
            break;
    }

Trong đó:

  • condition là biến/hàm giá trị muốn kiểm tra để dẽ nhánh.
  • value1,value2,.. là cá giá trị tương ứng của condition mà các bạn muốn rẽ nhánh.
  • default là giá trị mặc định khi biểu thức điều kiện không phù hợp với một trong các gí trị rẽ nhánh được đưa ra (giống với else).
  • Lệnh break là một lệnh ngắt và thoát khỏi lệnh switch...case 

Ví dụ: Đọc số trong phạm vi từ 0 đến 5.

<script type="text/javascript">
	var diem_trung_binh = 5;
	switch (diem_trung_binh){
		case 1:
		case 2:
		case 3:
			document.write('Học lực Kém');
			break;
		case 4:
		case 5:
			document.write('Học lực TB');
			break;				
		case 6:
		case 7:
			document.write('Học lực Khá');
			break;
		case 8:
		case 9:
			document.write('Học lực Giỏi');
		case 10:
			document.write('Học lực Xuất sắc');
			break;	
		default:
			document.write('Điểm không hợp lệ');
	}
</script>

Xem kết quả

P/s: Như các bạ đã thấy thì câu lệnh switch...case chỉ áp dụng được trong các trường hợp các nhánh là các tđiều kiện cố định mà thôi. Áp dụng vào bài toán Tính học lực của học sinh thì các bạn dễ thấy nếu biến diem_trung_binh của học sinh = 4.5 thì mặc nhiên nó sẽ nhảy case xuống giá trị default. Tuy vậy tùy từng trường hợp các bạn áp dụng.

3. Lời kết.

Như vậy qua phần này mình đã giới thiệu với mọi người về if-else, các dạng và cách sử dụng của nó rồi, bài tiếp theo chúng ta sẽ tìm hiểu về vòng lặp trong Javascript xem có gì không nhé.

Xem Thêm

Profile photo of adminTheHalfHeart

B.V.T

Sinh ra và lớn nên ở Bắc Giang. Hiện tại thì tôi đang là một lập trình viên tại VietISO. Tôi lập website này với mục đích là bookmark những gì tôi đã đọc qua và mong muốn chia sẻ những gì tôi biết.