Axel Richter: Problem mit split() bei der Gecko-Engin (Netscape 6.1 / 0.9.2)

Beitrag lesen

Hallo Flo,

Und zwar klemmt es bei der Split()-Funktion aber nur bei der Gecko-Engin. Bei folgendem Sript

Also bei mir (Netscape 6.2.1
Mozilla/5.0 (Windows; U; Windows NT 5.0; de-DE; QXW03329) Gecko/20011128 Netscape6/6.2.1) läuft's so, wie Du willst. Ganz sauber ist es aber nicht programmiert.

Versuch einer Erklärung (ohne Gewähr):

<html>
<body>
<pre>
<script language="JavaScript">

var satz = "EIN_KLEINER_TEST";

var satz steht im Arbeitsspeicher als String

var satz = satz.split("_");

eine _neue_ _zusätzliche_ var satz steht im Arbeitspeicher als Array

document.writeln("satz[0] = " + satz[0]);

hier wird der String satz angesprochen. Warum? Keine Ahnung.

document.writeln("satz    = " + satz);

hier wird das Array satz angesprochen. Warum? Keine Ahnung.

</script>
</pre>
</body>
</html>

gibt er folgendes aus:

============================================
satz[0] = E
satz    = EIN,KLEINER,TEST

Das passt ja aber nicht da satz[0] ja "EIN" sein müsste. Unten, wenn man sich den ganzen Array ausgeben lässt, zeigt er es ja sogar richtig an.
Ich vermute das er es nicht ganz schnallt das "satz" ein Array ist und einfach als String behandelt.

Ja, das ist wohl so.

Probiers mal so:

<script language="JavaScript" type="text/javascript">

var satz = "EIN_KLEINER_TEST";
    var woerter = new Array();
    woerter = satz.split("_");
    document.writeln("woerter[0] = " + woerter[0]);
    document.writeln("woerter    = " + woerter);
    //Test mit String satz:
    document.writeln("satz[0]    = " + satz[0]);

</script>

Gruß

Axel