Non valide attribution de gauche, javascript
Je suis sûr que je suis en train de faire quelque chose de stupide ici:
var addhtml = '<div id="leftbio" class="left-float">'
+= '<div id="bioname">e["screen_name]</div>'
+= '<div id="biophoto"><img src="e["profile_image_url"]"/></div>'
+= '<div id="biodetails">e["description"]</div>'
+= '</div>'; //invalid assignment left-hand side
console.log(addhtml);
Et Netbeans est de me dire que invalid assignment left-hand side
erreur.
Quoi de mal ?
- ce qui est += en train de faire là? a + est ce que vous voulez
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin
+=
pour concaténer, vous avez juste besoin+
C'est ok
$(this).data('var') = true
au lieu de$(this).data('var', true);
+=
signifie "prendre la chose sur la gauche, ajouter à cela, et stocker le résultat dans la chose sur la gauche". Le côté gauche de votre+=
est un littéral (le premier est'<div id="leftbio" class="left-float">
). Vous ne pouvez pas affecter de littéraux.Dire d'une autre façon,
a += b
signifiea = a + b
. Vous pouvez voir comment cela ne fonctionne pas sia
est un littéral plutôt que d'une variable.Vous voulez juste
+
là:Pour vous donner une idée de la différence entre
+
et+=
:vs
Hors-sujet:
Je recommande aussi la mise en retrait de la ligne de l'instruction d'affectation, mais c'est juste le style:
L'affectation (=) n'est pas nécessaire, vous pouvez simplement utiliser +. Il existe deux autres façons de construire multi-chaînes:
x += y
est un raccourci pourx = x + y
qui n'est pas ce que vous voulez ici.Soit utiliser:
ou:
N'avez pas besoin d' =
Vous ne pouvez pas la chaîne de l'attribution des opérateurs comme
+=
.