kostenloser Webspace werbefrei: lima-city


[JS] Variablen global machen

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    cookies

    Kostenloser Webspace von cookies

    cookies hat kostenlosen Webspace.

    Ich habe bei SelfHTML gelesen, dass man Variablen global macht, indem man aus

    var name = 'WERT';


    nur

    name = 'WERT';


    macht. Das funtkioniert auch, aber Firebug zeigt mir da immer einen Fehler an.

    Also wollte ich fragen, ob es da nicht eine bessere Möglichkeit gibt.

    Mfg cookies.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. ho ;)

    Also ob es eine Funktion gibt, die aus einer lokalen eine globale Variable macht, weiß ich nicht...

    Aber grundsätzlich gilt für JS:
    Eine Variable außerhalb einer Funktion: Global (egal ob mit var davor oder nicht)
    Und eine Variable innerhalb einer Funktion:
    a) mit var lokal
    b) ohne var global
    (Wie du richtig gesagt hast.)

    Rein Codetechnisch und Anwendertechnisch gesehen ist das meines Wissens korrekt. Warum Firebug da einen Fehler anzeigt, weiß ich nicht.

    Bist du sicher, dass der Fehler genau daran liegt? (An dem var?)

    Hast du schon einmal eine Funktion geschrieben... sowas?
    (Reine Skizze ^^):
    <script>
    a = "affe";
    b = "hase";
    c = "giraffe";
    
    function aenderung()
    {
    var a = "schimpanse";
    b = "karnickel";
    }
    
    aenderung();
    
    // Ausgabe der Ergebnisse nach der Funktion... und schauen, was Firebug dazu sagt...


    lg
    Sincer

    Beitrag zuletzt geändert: 14.5.2009 19:51:29 von sincer
  4. Autor dieses Themas

    cookies

    Kostenloser Webspace von cookies

    cookies hat kostenlosen Webspace.

    Firebug zeigt das an:

    name is not defined
    name = 'Wert'


    Also kann ich das aber trotzdem so verwenden, ohne das var?

    Und bei deinem Script zeigt es keinen Fehler an, nur eine Warnung:

    assignment to undeclared variable a
     c = "giraffe";
    
    assignment to undeclared variable b
     b = "hase";
    
    assignment to undeclared variable c
     c = "giraffe";


    Beitrag zuletzt geändert: 14.5.2009 20:05:42 von cookies
  5. ho ;)

    Verwenden kannst du es auf jeden Fall.

    Nur aufpassen... Wenn du das Var in den Funktionen weglässt, könnte es zu unerwünschten Ergebnissen führen... Ist ja dann eine globale Variable... und dann such mal den Fehler... ^^

    lg
    Sincer
  6. Autor dieses Themas

    cookies

    Kostenloser Webspace von cookies

    cookies hat kostenlosen Webspace.

    Noch eine Frage:

    Einen Bereich, indem die Variablen existieren kann man nicht festlegen?
  7. ho ;)

    Doch... das wäre dann ja eine lokale Variable.

    Sprich: Der Bereich wäre dann eine Funktion...

    function xy()
    {
    var lol = 1;
    // Die Variable "lol" gibt es nur in der Funktion
    
    ab("lol");
    // "lol" kann aber auch übergeben werden...
    }
    
    // Außerhalb der Funktion ist "lol" eine Unbekannte
    
    function ab(uebergebene_var)
    {
      if (uebergebene_var == 1) 
      { 
        // Wird ausgeführt, da lol = 1
        alert("lol ist eine Lokale Variable!");
      }
    }


    Aber wenn du was anderes meinst... zB einen Bereich wie von Zeile 12 bis 83 ... sowas gibt es meines Wissens nicht.

    lg
    Sincer
  8. Autor dieses Themas

    cookies

    Kostenloser Webspace von cookies

    cookies hat kostenlosen Webspace.

    Danke für deine Hilfe! :thumb:
  9. e********l

    Das man außerhalb von Funktionen Variablen mit "var" deklariert finde ich sehr gut, denn es könnte theoretisch auch ein Objekt sein das da steht und spätestens bei der aktiven oder passiven Verwendung von Closures wird "var" wichtig.
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!