Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-05-2005, 19:33   #1 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
prototype funktion ungültig!?

Hi!

Hab grad an einem Prototyp gebastelt und da ist mir folgendes aufgefallen:

Ich bekomme beim einsetzen der Funktion immer diesen Fehler:

Code:
**Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Zeile 7: Keine Methode mit dem Namen 'test' vorhanden.
     nTest.test();

Anzahl der ActionScript-Fehler: 1 	 Gemeldete Fehler: 1
Daraufhin hab ich versucht einfach so ne prototype Funktion zu basteln:

ActionScript:
  1. Number.prototype.test = function()
  2. {
  3.     trace( this + '~ ' + String( this % 2 ) );
  4. }
  5.  
  6. var nTest:Number = 30;
  7. nTest.test();

das ergab den oben gegebenen Fehler.

meiner Meinung nach, müsste das aber richtig sein, also wo ist der Fehler?

//edit:

wenn ich aber einen bereits funktionierenden prototypen einfüge, klappts perfekt. sobald ich dann aber den namen ändere, kommt der Fehler o.O

Geändert von pokepika (21-05-2005 um 19:38 Uhr)
pokepika ist offline   Mit Zitat antworten
Alt 21-05-2005, 21:59   #2 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
hmm, hab grad rausgefunden, dass wenn ich die strikte Typisierung weglasse, dass es dann ohne Probleme klappt. Also wenn ich nur
var nTest = 30;
benutze.

Warum geht das nicht? Sollte es wirklich daran liegen, dass die Number Klasse (wie auch die String Klasse) nicht als dynamic deklariert wurde?

und warum geht dann das hier ohne Fehlermeldung (nur, wenn ich den code der Funktion kopiere und den namen replace nicht verändere)

ActionScript:
  1. String.prototype.replace = function ( sSearch:String, sReplace:String )
  2. {
  3.     return this.split( sSearch ).join( sReplace );
  4. }
  5.  
  6. var sTest:String = 'hello';
  7. trace( sTest.replace( 'e', 'a' ) );
pokepika 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 03:03 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele