Flash CS3: TextField.appendText ()
Samstag, 15. Dezember, 2007 Flash CS3 hat so viele wirklich neue, einschließlich "neugierig", um anzuzeigen, wenn der einige Tipps zum Schreiben von Code. Dies geschieht beispielsweise, wenn es sich um Objekte TextField Ich habe, um eine Zeichenkette an das Ende eines Feldes TextField mit dem klassischen Notation:
- ; mioTextField_txt. Text + = "hinzugefügt String";
Aber hier ist ActionScript 3.0, beim Ausfüllen der Film, fühle ich mich (Warnung) - oder empfehlen:
Warnung: 3551: Hinzufügen von Text zu einem Textfeld von + = ist oft ein langsamer im Vergleich zu mit TextField.appendText ().
Fantastico! Mal sehen, die Tatsache, ÜBERSICHT Methode appendText() sagt:
Fügt den angegebenen String aus dem Parameter
newTextEnde der Wortlaut der einschlägigen Bereich. Diese Methode ist effizienter als eine Ergänzung+=eine Eigenschafttext someTextField.text += moreTextinsbesondere im Fall ein Textfeld mit einer signifikanten Menge von Inhalten.
Wir vertrauen? Aus Sicherheitsgründen prüfen:
- . getTimer ; Import-Blitz. utils. getTimer;
- ; var i: UINT = 0;
- = getTimer ( ) ; var s: int = getTimer ();
- i; i < 10000 ;i++ ) { for (i; i <10000; i + +) (
- ; text_txt. Text + = "hallo";
- )
- = getTimer ( ) ; var f: int = getTimer ();
- fs ) ; Trace (fs);
Zeit: 9360 - auf meinem Rechner, im Debug-Modus. Lassen Sie dann entsprechend den Empfehlungen der Compiler:
- . getTimer ; Import-Blitz. utils. getTimer;
- ; var i: UINT = 0;
- = getTimer ( ) ; var s: int = getTimer ();
- i; i < 10000 ;i++ ) { for (i; i <10000; i + +) (
- "Ciao" ) ; text_txt. appendText ( "hallo");
- )
- = getTimer ( ) ; var f: int = getTimer ();
- fs ) ; Trace (fs);
Zeit: 8415 ![]()
Nichts Außergewöhnliches ... Aber es ist wahr! Die Methode appendText() ist schneller und die Leistungen der Pre-inkrementelle += Warum? Der offensichtlichste Grund ist: der Betreiber += wirkt auf jede Art von Daten. Auch in einer OO-Sprache dieser Betreiber ist nicht strukturiert wie in der einfachen C aber ist "gedeckt". In C + +, zum Beispiel, können Sie überschreiben (überschreiben) der Betreiber als Teil der Struktur der Objekt-Sprache selbst. Letztlich appendText() ist schneller, weil ihr Ziel ist es, "hängt" ein String und daher gibt es viele "Fragen" in ihm. Der Operator += jedoch muss sich für jede Art von Daten und ist daher nicht optimiert für Streicher. In C, im Gegenteil, der Betreiber += ist einem niedrigen Niveau und wird immer schneller als der Aufruf zu einer Funktion.

















