Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-02-2006, 14:22   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 40
this in innerer Funktion undefined

Hallo

Wieso ist this nicht bekannt in inner()?

PHP-Code:
var navi_id:Number 4;
var 
i:Number 0;
var 
intv_func:Number;

function 
outer(){
    
this["navi_" navi_id] = new Array(123,456,789);
    
trace(this);
    function 
inner(){
        
trace(this);
        
trace(_root["navi_" navi_id][i]);
        
i++;
        if(
== _root["navi_" navi_id].length){
            
clearInterval(intv_func);
        }
    }
    
    
intv_func setInterval(inner1000);
}

outer(); 
JanM ist offline   Mit Zitat antworten
Alt 18-02-2006, 14:29   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!

Das liegt nicht an der Funktion, sondern am Intervall, in welchem du dich dann quasi befindest:
PHP-Code:
var navi_id:Number 4;
var 
i:Number 0;
var 
intv_func:Number;
function 
outer() {
    
this["navi_"+navi_id] = new Array(123456789);
    
trace(this);
    function 
inner(tl) {
        
trace(tl);
        
trace(tl["navi_"+navi_id][i]);
        
i++;
        if (
== tl["navi_"+navi_id].length) {
            
clearInterval(intv_func);
        }
    }
    
intv_func setInterval(inner1000this);
}
outer(); 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 18-02-2006, 14:44   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 40
Vom Target-Path her bin mit dem ganzen Script auf _root, was auch im outer() angezeigt wird. Wenn ich nicht über den Interval gehe sonder inner() aufrufe gibt mir this im inner() die Bezeichnung [type Object] zurück. Erstellt Flash da eine zus. Ebene?

Danke
Jan
JanM ist offline   Mit Zitat antworten
Alt 18-02-2006, 15:01   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Du kannst Fragen stellen .
Ich bin mir da jetzt auch nicht ganz sicher, wie das mit eine Funktion in einer anderen Funktion läuft. Denke aber, dass sich das this in der Funktion inner dann auf die Funktion outer bezieht - aber wie schon gesagt, ist mehr geraten, als dass ich das tatsächlich wüsste... Aber so
PHP-Code:
var navi_id:Number 4;
var 
i:Number 0;
var 
intv_func:Number;
function 
outer() {
    
this["navi_"+navi_id] = new Array(123456789);
    
trace(this);
    
inner();
}
function 
inner() {
    
trace(this);
    
trace(this["navi_"+navi_id][i]);
    
i++;
    if (
== this["navi_"+navi_id].length) {
        
clearInterval(intv_func);
    }
}
outer(); 
wird ja wieder _level0 ausgegeben.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager 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 16:31 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele