Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ActionScript
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Using data types=== The basic syntax is: <syntaxhighlight lang="actionscript"> var variableName: VariableType = new VariableType(param1, param2, ..., paramN); </syntaxhighlight> So in order to make an empty Object: <syntaxhighlight lang="actionscript"> var myObject: Object = new Object(); </syntaxhighlight> Or, in an informal way: <syntaxhighlight lang="actionscript"> var myObject = {}; </syntaxhighlight> Some types are automatically put in place: <syntaxhighlight lang="actionscript"> var myString: String = "Hello Wikipedia!"; // This would automatically set the variable as a string. var myNumber: Number = 5; // This would do the same for a number. var myObject: Object = { param1: "Hi!", param2: 76 }; // This creates an object with two variables. // param1 is a string with the data of "Hi!", // and param2 is a number with the data of 76. // This is the syntax for automatically creating an Array. var myArray: Array = [5, "Hello!", { a: 5, b: 7 }]; // It creates an Array with 3 variables. // The first (0) is a number with the value of 5, // the second (1) is a string with the value of "Hello!", // and the third (2) is an object with { a: 5, b: 7 }. </syntaxhighlight> Unlike some object-oriented languages, ActionScript makes no distinction between [[Primitive data type|primitive]] types and [[reference (computer science)|reference]] types. In ActionScript, all variables are reference types. However, objects that belong to the primitive data types, which includes Boolean, Number, int, uint, and String, are immutable.<ref>{{cite web |url=http://livedocs.adobe.com/flex/3/html/03_Language_and_Syntax_19.html |title=Flex 3 β Function parameters |publisher=Livedocs.adobe.com |access-date=December 17, 2009 |archive-url=https://web.archive.org/web/20090212103954/http://livedocs.adobe.com/flex/3/html/03_Language_and_Syntax_19.html |archive-date=February 12, 2009 |url-status=dead |df=mdy-all}}</ref> So if a variable of a supposedly primitive type, e.g. an integer is passed to a function, altering that variable inside the function will not alter the original variable, as a new int Object is created when inside the function. If a variable of another (not primitive) datatype, e.g. XML is passed to a function, altering that variable inside the function will alter the original variable as well, as no new XML Object is created. Some data types can be assigned values with [[Object literal|literals]]: <syntaxhighlight lang="actionscript"> var item1: String = "ABC"; var item2: Boolean = true; var item3: Number = 12; var item4: Array = ["a", "b", "c"]; var item5: Object = { name: "Actionscript", version: "3.0" }; var item6: XML = <node><child /></node>; // Note that the primitive XML is not quoted </syntaxhighlight> A reference in ActionScript is a pointer to an instance of a class. A reference stores the memory address of an object β operations against references will follow the value of the reference to the memory address of the object and carry out the operation on that object. All objects in ActionScript are accessed through references instead of being accessed directly. <syntaxhighlight lang="actionscript"> var item1: XML = new XML("<node><child /></node>"); var item2: XML = item1; item2.firstChild.attributes.value = 13; // item1 now equals item2 since item2 simply points to what item1 points to. // Both are now: // <node><child value="13" /></node> </syntaxhighlight> Only references to an object may be removed by using the "delete" keyword. Removal of actual objects and data is done by the Flash Player garbage collector which checks for any existing references in the Flash memory space. If none are found (no other reference is made to the orphaned object), it is removed from memory. For this reason, memory management in ActionScript requires careful application development planning. <syntaxhighlight lang="actionscript"> var item1: XML = new XML("<node><child /></node>"); delete item1; // If no other reference to item1 is present anywhere else in the application, // it will be removed on the garbage collector's next pass </syntaxhighlight>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)