Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » HTML / XML / XHTML » Kurze Frage zu JavaScript

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
05.03.2005, 21:14 Uhr
~fasmat
Gast


Hi Leute!

Ich hätte eine kleine Frage zu JavaScript. Ich möchte ein Zeichen aus einer Variable auslesen.

Also in C würde das ja so gehen:


C++:
car * var = "Test-Variable";

char zeichen = var[3];



Und wie mach ich das in Javascript?

Greetz
fasmat
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.03.2005, 22:35 Uhr
Frodenius



Zeichenfolgen sind in JavaScript, ebenso wie in allen anderen Sprachen auch, Arrays.
Sie lassen sich also per [] (offset-oprerator) indexieren.
--
NI! ...and thanks for all the fish!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.03.2005, 23:42 Uhr
~fasmat
Gast


Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
06.03.2005, 11:58 Uhr
~fasmat
Gast


Ok. Hab trotzdem noch immer ein Problem:

Das hier ist ein Auszug aus meiner Seite:


Code:
          var link, i=0;
          var tmp;
          
          tmp = window.location.href;

          while (true)
          {
            if (tmp[i] == '?')
              break;
              
            link[i]=tmp[i];

            i++;
          }

          function german()
          {
            window.location.href = link + '?lang=de';
          }

          function english()
          {
            window.location.href = link + '?lang=en';
          }



Ich will einfach nur, dass wenn man auf einen Link klickt german() beziehungsweise english() aufgerufen wird. Das funktioniert ja eigentlich auch. Nur hab ich jetzt den Code ein bisschen umgeschrieben, damit ich ihn auf jeder Seite verwenden kann. Und jetzt funzt es nicht mehr...

Weiß jemand Rat?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.03.2005, 17:26 Uhr
Frodenius



so..
(ein bisschen manöverkritik, falls es nichts ausmacht )

1. die variable link ist ja gar kein array geschwige denn eine zeichenfolge, also kann man da normalerweise nichts mit der Indizierung machen.

2. diese while(true)-konstruktion ist, gelinde gesagt *grauenvoll*...
... der firefox/explorer bricht mit einem fehler ab, es gäbe eine "Verzögerung", also in dieser konkreten sache eine endlos-schleife, wenn in der url von anfang an kein '?' ist und folglich nie abgebrochen wird...

--while()-schleifen nur benutzen, wenn man nicht weiss, wieoft diese durchlaufen werden muss!

--ganz nebenbei, zählvariablen einer schleife sollten immer nur in der schleife selbst verfügbar sein... (dann muss man wenigstens nicht nachkucken, ob sie schon mal definiert wurde...)

soo.. dann hab ich das mal schnell ein kleines bisschen übersichtlicher gemacht:


Code:
var link = "";
var tmp = window.location.href;

for(var i=0; i<tmp.length; i++)
{
       if (tmp[i] == '?')
        break;

    link[i]=tmp[i];
}

function german()
{
    window.location.href = link + '?lang=de';
}

function english()
{
    window.location.href = link + '?lang=en';
}




--
NI! ...and thanks for all the fish!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
08.03.2005, 18:07 Uhr
~fasmat
Gast


Oh, vielen Dank

Werd den Code gleich umändern, die while-Schleife ist keine endlosschleife, da alle links die, die Seite aufrufen, sie mit ?lang=ger aufrufen und deswegen die Schleife auf jeden Fall beendet wird.

Trotzdem vielen Dank
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ HTML / XML / XHTML ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: