Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-07-2005, 12:54   #1 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
Scope in function

Hallo ich eine Variabel in einer Function die ich dynamisch bennene.
Die Variabel liegt danach auf _level0, kann man es so einrichten das diese nur in der Function existiert?

Danke im Voraus
ActionScript:
  1. function foo(a) {
  2.     this[a] = 10;
  3. }
  4. foo("myVar");
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Alt 29-07-2005, 13:02   #2 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
tut sie doch!?
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 29-07-2005, 13:11   #3 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
tut sie nicht .
ActionScript:
  1. trace(myVar)
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Alt 29-07-2005, 13:12   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Wenn du "var" davorsetzt, dann existiert die Variable nur lokal in der Funktion.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 29-07-2005, 13:13   #5 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
ja aber wo packe ich dann das this hin oder wie muss ich es schreiben?

[a] alleine geht ja nicht
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Alt 29-07-2005, 13:20   #6 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
ActionScript:
  1. function test() {
  2.     var a:String = "hallo";
  3.     trace("a : innen : " + a);
  4. }
  5.  
  6. test();
  7. trace("a : außen : " + a);
  8.  
  9. /* ergibt
  10. a : innen : hallo
  11. a : außen : undefined
  12. */

EDIT: kein this, this ist nur für Objekte, MovieClips und Ähliche
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 29-07-2005, 13:25   #7 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
Parfait!

Danke, klar für Objekte
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Alt 29-07-2005, 13:28   #8 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
Ach zurück, quatsch

Ich weiss doch garnicht wie die variabel vorher heisst, der Name soll doch erst in der Function zugewiesen werden.
Du setzt ja nur eine statische Variabel.
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Alt 29-07-2005, 13:35   #9 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hä? Du weißt nicht, wie die Variable heißt??? Was meinst du denn damit?
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 29-07-2005, 13:42   #10 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
Ist doch etwas komplexer,deshalb mal ein besseres Beispiel:

ActionScript:
  1. function foo(varName:String, varValue:Number) {
  2.     var varName
  3.     this[varName] = new Object(varValue);
  4. }
  5. foo("go", 10);
  6. foo("did", 3);
  7. foo("flip", 4);
  8. // Dynamische Variabeln dürfen nur in function auftreten
  9. trace(go);
  10. trace(did);
  11. trace(flip);
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Alt 29-07-2005, 14:02   #11 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
hmm, jetzt habe ich verstanden, was du willst … aber ich weiß keine Lösung
Ansatzweise:
ActionScript:
  1. function foo(varName:String, varValue:Number) {
  2.         var o:Object = new Object();
  3.         o[varName] = varValue;
  4. }
Man müsste irgendwo den lokalen Scope herbekommen.
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 29-07-2005, 14:45   #12 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
Dein Vorschlag ist doch eine gute Alternative .
Nachteil :
-Die Variabeln liegen in einem Oberobject.
Vorteil:
-Variabeln nur in function vorhanden
-Auflistungsmöglickeit aller Vars auch ohne bekannten Namen
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Alt 29-07-2005, 14:53   #13 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Also für mich überwiegen die Vorteile! :P
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 29-07-2005, 14:54   #14 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
@bamboocha
sehe ich im Moment auch so

Einmal komplett:
ActionScript:
  1. function foo(varName:String, varValue:Number) {
  2.     var o:Object = new Object();
  3.     o[varName] = new Object(varValue);
  4.     // trace mit bekannten varName
  5.     trace(o.go);
  6.     // trace ohne bekannten varName
  7.     for (name in o) {
  8.         trace("o."+name+" = "+o[name]);
  9.     }
  10. }
  11. foo("go", 10);
  12. foo("did", 3);
  13. foo("flip", 4);
  14. // Nur in function möglich
  15. trace("aussen: "+o.go);

Danke an alle
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 05:17 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele