/codegym.vn/ - 64
Giá trị của biến
even
Kết quả của biểu thức (even == true)
true
true
false
false
Nên:
1.
if
(
even
)
{
2. alert
(
"It is even."
);
3.
}
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.
Chẳng hạn, 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.
Giá trị của biến
even
Kết quả của biểu thức (even == true)
true
true
false
false
Lỗi thường gặp #4: Nhầm lẫn khối if-else
Lỗi thứ 4 đó là nhầm lẫn khi kết hợp các khối lệnh if-else, lỗi này thường xảy ra khi
chúng ta quên các dấu đóng mở ngoặc hoặc nhầm lẫn do khoảng cách đầu dòng của
các câu lệnh không được căn chỉnh cẩn thận.
Không nên:
1.
if
(
first_number
>
second_number
)
2.
if
(
first_number
>
third_number
)
3. alert
(
"A"
);
4.
else
5. alert
(
"B"
);
6.
Ở ví dụ trên, khi nhìn vào đoạn mã thứ nhất, chúng ta thường nghĩ rằng khối lệnh else
được áp dụng cho câu lệnh điều kiện đầu tiên. Có nghĩa là nếu i nhỏ hơn hoặc bằng
j thì sẽ hiển thị thông báo “B”.
Tuy nhiên thực tế thì không phải như thế. Câu lệnh else được áp dụng cho điều kiện
if thứ hai ở bên trong câu lệnh if đầu tiên. Do đó, điều kiện else này chỉ được thực thi
nếu điều kiện đầu tiên đúng và điều kiện thứ hai sai, tức là i lớn hơn j và i nhỏ hơn k.
Nên: