Hallo,
Grundsätzlich gilt in JavaScript dass das Zeichen + der Verknüpfungsoperator in ist. Damit kannst du dann z.b. Strings verknüpfen
row.innerHTML = "foo" + " " + "bar"; // ergibt "boo bar"
so machst du das ja auch in deinem ersten Beispiel :
var variable = 3;
var test = 'Text'+variable; // Ergebnis: Text3
auch wenn da in "variable" ein Integer drin ist, das macht aber nichts, denn JavaScript ist so "nett" dass es den Integer 3 in einen String "3" verwandelt bevor es den Operator + benutzt. Deshab kommt das raus was du haben wolltest.
''Text'+variable'; // so nicht
Hier hast du das Problem dass du mit '' erst einmal einen leeren String machst (das sind zwei ' ) und danach eine Variable Text (die nirgendwo definiert ist) verwendest. Man sieht das daran dass Text nicht innerhalb von Anführungszeichen ist (weil du nach dem öffnenden ' es gleich mit dem zweiten ' schließt), und JavaScript davon ausgehen muss dass Text ein Variablenname ist. Da diesem bisher nichts zugewiesen wurde ist da einfach ein undefined
drin. Das problem ist jetzt dass JavaScript nicht weiß was es mit einem leeren String gefolgt von einer Variable anfangen soll wenn da kein Operator wie + oder so dazwischen steht. Deshalb wird es eine Syntax Error Exception werfen und dein script nicht weiter ausführen.
Was du warscheinlich machen wolltest war:
row.innerHTML = "Text" + variable;
'+'Text'+'+variable'; // so auch nicht nicht
Hier ein ähnliches Problem , erst sagst du es gibt einen String "+" dann steht dahinter direkt eine Variable Text die nirgendwo zugewiesen wurde. JavaScript weiß nicht was es machen soll wenn ein String gefolgt von einer Variable im Quelltext steht, ohne dass dazwischen ein Operator wie + steht und wirft eine "Syntax Error" Exception.
Also noch einmal, der Verkettungsoperator ist + in JavaScript, wenn man einen String deklarieren möchte dann umschließt man diesen mit einem Paar von quotes ' oder double quotes " so wie hier:
"foo"; // ein String
foo; // eine Variable mit dem Namen foo
will man nun diese beiden verknüpfen macht man das mit +:
"foo" + foo;
will man das Ergebnis in eine Variable schreiben macht man:
var bar = "foo" + foo;
Hoffe damit werden die Unterschiede etwas klarer.
Jeena