a = 1;
b = "1";
if (a == b && a = 1) {
console.log("a==b");
}
Il codice JavaScript di cui sopra si tradurrà in un errore nel if
dichiarazione in Google Chrome 26.0.1410.43:Perché l'operatore Javascript "&&" è così strano?
Uncaught ReferenceError: Invalid left-hand side in assignment
Penso che questo sia perché la variabile a
nella seconda parte della dichiarazione &&
, a=1
non può essere assegnato. Tuttavia, quando provo il codice qui sotto, sono totalmente confuso!
a = 1;
b = "1";
if (a = 1 && a == b) {
console.log("a==b");
}
Perché l'unica affermazione è giusta, ma l'altra affermazione è errata?
Cosa stai cercando di realizzare qui? Cosa dovrebbe fare effettivamente il codice? –
Usa sempre '(' e ')' per la precedenza degli operatori –
Qui hai commesso un errore, devi scrivere così 'if (a == 1 && a == b)'. –