/codegym.vn/ - 63
điều kiện đúng thì chỉ có một câu lệnh ở trên được thực thi, dòng lệnh alert(“The area
is” + alert) sẽ luôn được thực thi mà không bị phụ thuộc vào điều kiện (radius >= 0).
Trong trường hợp này chúng ta cần phải sửa lại, bổ sung cặp dấu { } vào vị trí phù
hợp.
Sau khi bổ sung cặp dấu ngoặc {}:
1.
if
(
radius
>=
0
)
{
2. area
=
radius
*
radius
*
PI
;
3. alert
(
"The area is "
+
area
);
4.
}
Lỗi thường gặp #2: Đặt dấu ; ở cuối câu lệnh điều kiện
Lỗi thứ hai đó là đặt thừa dấu chấm phẩy sau điều kiện của if. Trong trường hợp này
câu lệnh if không có tác dụng bởi vì nó kết thúc ngay sau khi đánh giá điều kiện. Có
nghĩa là khối lệnh đằng sau nó sẽ luôn được thực thi cho dù điều kiện ở trước có đúng
hay không.
Ví dụ:
1.
if
(
radius
>=
0
);
{
2. area
=
radius
*
radius
*
PI
;
3. alert
(
"The area is "
+
area
);
4.
}
Để khắc phục lỗi này, chúng ta chỉ cần xoá dấu chấm phẩy ở cuối câu lệnh if đi.
Xóa dấu (;) ở cuối câu lệnh if:
1.
if
(
radius
>=
0
)
{
2. area
=
radius
*
radius
*
PI
;
3. alert
(
"The area is "
+
area
);
4.
}
Lỗi thường gặp #3: So sánh giá trị boolean
Lỗi thứ ba xảy ra khi chúng ta so sánh các giá trị thuộc kiểu dữ liệu boolean. Bản chất
thì đây không phải là một lỗi, bởi vì các dòng lệnh vẫn thực thi đúng như mong đợi.
Nhưng việc so sánh giá trị kiểu boolean như trong trường hợp này là không cần thiết.
Không nên:
1.
if
(
even
==
true
)
{
2. alert
(
"It is even."
);
3.
}
Chúng ta sẽ dễ dàng thấy rằng kết quả của biểu thức so sánh even = true là hoàn
toàn giống với giá trị của biến even. Nếu even có giá trị true thì biểu thức sẽ có giá trị
true. Nếu even có giá trị là false thì biểu thức sẽ có giá trị là false. Như vậy thì việc sử
dụng biểu thức ở đây là không cần thiết.