a = 1;
b = "1";
if (a == b && a = 1) {
console.log("a==b");
}
Các mã Javascript trên sẽ gây ra một lỗi trong if
tuyên bố trong Google Chrome 26.0.1410.43:Tại sao toán tử Javascript "&&" lạ đến vậy?
Uncaught ReferenceError: Invalid left-hand side in assignment
Tôi nghĩ rằng đây là do biến a
trong phần thứ hai của báo cáo kết quả &&
, Không thể chỉ định a=1
. Tuy nhiên, khi tôi thử đoạn mã dưới đây, tôi hoàn toàn bối rối!
a = 1;
b = "1";
if (a = 1 && a == b) {
console.log("a==b");
}
Tại sao có một tuyên bố đúng nhưng tuyên bố khác sai?
Bạn đang cố gắng làm gì ở đây? Mã nên thực sự làm gì? –
Luôn sử dụng '(' và ')' cho toán tử ưu tiên –
Bạn đã phạm sai lầm ở đây, bạn phải viết như thế này 'if (a == 1 && a == b)'. –