Flash CS3: TextField.appendText ()
Saturday, December 15, 2007 Flash CS3 ima toliko stvarno novi, uključujući i "čudna" da naznačite kada je nekoliko savjeta o pisanju koda. To će se dogoditi, na primjer, kad smo se bave predmetima TextField Ja sam za dodavanje niza do kraja polja TextField klasični zapis:
- ; mioTextField_txt. tekst + = ", dodao String";
Ali ovdje je ActionScript 3.0, kada završavanjem filma, osjećam (Upozorenje) - ili preporučiti:
Upozorenje: 3551: Dodavanje teksta na textfield po + = je često sporiji u usporedbi s korištenjem TextField.appendText ().
Fantastico! Let's pogledajte na činjenicu SYNOPSIS metoda appendText() kaže:
Stavlja Navedeni string iz parametra
newTextkraju teksta u odgovarajućem području. Ova metoda je efikasnija nego dodatak+=primjenjuju se na imovinutext someTextField.text += moreTextosobito u slučaju tekstualno polje s značajnu količinu sadržaja.
Mi vjerovati? Iz sigurnosnih provjera:
- . getTimer ; uvoz flash. Utils. getTimer;
- ; var i: UINT = 0;
- = getTimer ( ) ; var s: int = getTimer ();
- i; i < 10000 ;i++ ) { for (i; i <10000; i + +) (
- ; text_txt. tekst + = "Pozdrav";
- )
- = getTimer ( ) ; var f: int = getTimer ();
- fs ) ; trag (FS);
Vrijeme: 9360 - na moj stroj, u 'debug' načinu rada. Neka zatim kao preporučene od strane prevodilac:
- . getTimer ; uvoz flash. Utils. getTimer;
- ; var i: UINT = 0;
- = getTimer ( ) ; var s: int = getTimer ();
- i; i < 10000 ;i++ ) { for (i; i <10000; i + +) (
- "Ciao" ) ; text_txt. appendText ( "Hello");
- )
- = getTimer ( ) ; var f: int = getTimer ();
- fs ) ; trag (FS);
Vrijeme: 8415 ![]()
Ništa izuzetne ... Međutim, to je točno! Metoda appendText() je brži i izvođenje pred-inkrementalno += Zašto? Najvažniji razlog je ocigledan: operatora += djela na bilo koju vrstu podataka. Također u ovom OO jezik operatora nije strukturiran kao u jednostavnim C, ali je "pokrivena". U C + +, na primjer, možete prebrisati (preko) operatera kao dio strukture objektno-jezik sebe. Na kraju appendText() je brži jer njegov cilj je da se "objesiti" niz i zato postoji mnogo "pitanja" u njoj. Operater += međutim, mora raditi za bilo koju vrstu podataka te stoga nije optimizirano za žice. U C, naprotiv, operator += nizak nivo i uvijek će biti brže nego poziv na funkciju.




















