Ergebnis 1 bis 7 von 7
  1. #1
    cech12 ist offline Grünschnabel
    registriert
    08-04-2010
    Beiträge
    6

    globale Variablen an Funktion übergeben

    Hallo,

    ich bin Chris und ich habe ein Problem. Ich habe heute schon den ganzen Tag danach gesucht, bei Google, in allen möglichen Foren, habe aber leider nichts gefunden.

    Also mein Problem:
    Ich bin dabei, ein Farbtool zu entwickeln. Hierbei habe ich drei globale Variablen (rot, gruen und blau) auf die in jeder Funktion zugegriffen werden kann. Nun habe ich 3 Felder, die genau gleich funktionieren sollen und eine Funktion haben könnten (man soll einen Farbwert eingeben und die Farbe soll geändert werden).
    Also möchte ich einen Parameter hinzufügen, wo ich die globale Variable angebe, die geändert werden soll.

    Code:
    var rot = 0;
    var gruen = 0;
    var blau= 0;
    
    function feld(farbe) {
      //ändere farbe und mache dann noch was anderes
    }
    und dann soll das aufgerufen werden:
    Code:
    feld(rot);
    Nun soll der Farbwert von rot geändert werden, aber die Varible farbe steht dort ja nur lokal zur Verfügung.
    Wie kriege ich das hin, dass in dieser Funktion die globale Variable, die man ihr übergibt, verändert wird?
    (Da auch später noch
    Code:
    feld(blau);
    aufgerufen werden kann)

    Danke schonmal im Vorraus!

  2. #2
    Avatar von Junkee[]
    Junkee[] ist offline Lounge-Member
    registriert
    08-05-2009
    Ort
    Leonberg
    Beiträge
    3.169

    AW: globale Variablen an Funktion übergeben

    in js arbeitet man fast immer mit return Werten
    Code:
    functiom feld(farbr) {
      farbe = 255;
      return farbe;
    }
    
    rot = feld(rot);
    Geändert von Junkee[] (08-04-2010 um 15:50 Uhr)

  3. #3
    cech12 ist offline Grünschnabel
    registriert
    08-04-2010
    Beiträge
    6

    AW: globale Variablen an Funktion übergeben

    Danke für die schnelle Antwort!

    Dann muss ich wohl auf return zurückgreifen. Aber das möchte ich nur ungern, weil ich dann wieder eine Funktion pro Feld für die Zuweisung bräuchte.
    Aber wenns nicht anders geht.

    Also geht das nicht mit den globalen Variablen nein?

    Liebe Grüße
    Chris
    Geändert von cech12 (08-04-2010 um 16:04 Uhr)

  4. #4
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.666

    Post AW: globale Variablen an Funktion übergeben

    Zitat Zitat von cech12 Beitrag anzeigen
    Dann muss ich wohl auf return zurückgreifen. Aber das möchte ich nur ungern, weil ich dann wieder eine Funktion pro Feld für die Zuweisung bräuchte.
    nein, wieso das denn?

    Zitat Zitat von cech12 Beitrag anzeigen
    Also geht das nicht mit den globalen Variablen nein?
    doch, als objekt
    Code:
    var farbe =
    {
      rot : 0,
      gruen : 0,
      blau : 0
    };
    
    function feld(farbe, prop) {
      farbe[prop] = 88;
    }
    
    feld(farbe, "rot");
    dann könntest du aber im fall von globalen variablen auch wieder einzelne variablen nutzen
    Code:
    var rot = 0;
    var gruen = 0;
    var blau = 0;
    
    function feld(prop) {
      window[prop] = 88;
    }
    
    feld("rot");
    schöner ist allerdings der weg über den rückgabewert der fkt.

    EDIT: auch zu spät (editiert)
    Geändert von tsseh (08-04-2010 um 16:14 Uhr)

  5. #5
    Avatar von Junkee[]
    Junkee[] ist offline Lounge-Member
    registriert
    08-05-2009
    Ort
    Leonberg
    Beiträge
    3.169

    AW: globale Variablen an Funktion übergeben

    doch... dann darf man sie halt nicht übergeben
    Code:
    var glob = 1;
    function test() {
      glob *= 2;
    }
    
    test();
    aber du könntest auch einen String des Variablenname übergeben
    Code:
    var glob = 2;
    var glob2 = 3;
    
    function test(x) {
      window[x] *= 2;
    }
    
    test("glob");
    test("glob2");
    edit: zu spät... aber gleiches Prinzip

  6. #6
    cech12 ist offline Grünschnabel
    registriert
    08-04-2010
    Beiträge
    6

    AW: globale Variablen an Funktion übergeben

    Hey hesst,

    das ist echt cool!
    Das funktioniert super!

    Danke, danke, danke!


    Viele Grüße,
    Chris

  7. #7
    cech12 ist offline Grünschnabel
    registriert
    08-04-2010
    Beiträge
    6

    AW: globale Variablen an Funktion übergeben

    Hallo Junkee[],

    Das ist auch cool!
    Sogar noch besser, da man damit das Objekt umgeht.
    Aber beide Varianten funktionieren super

    Also nochmal vielen Dank!

    Chris

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 15-01-2010, 07:53
  2. funktion eines objekts werte übergeben?
    Von pedder im Forum JavaScript
    Antworten: 14
    Letzter Beitrag: 11-03-2009, 21:17
  3. Variablen aus Popup an Opener übergeben
    Von dommi im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 17-09-2006, 08:11
  4. Antworten: 3
    Letzter Beitrag: 09-03-2006, 10:11
  5. Variablen an JS übergeben!
    Von Steini1980 im Forum Flash
    Antworten: 0
    Letzter Beitrag: 14-05-2004, 18:42

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •