Symboliska operatorer är tecken som anger hur värden för ett uttryck ska kombineras, jämföras eller ändras.
aritmetik | |||
---|---|---|---|
+ | addition | ||
-- | decrement | ||
/ | division | expression1 med expression2 . | |
++ | increment | ||
% | modulo | expression1 delat med expression2 . | |
* | multiplication | ||
- | subtraction | ||
aritmetisk sammansatt tilldelning | |||
+= | addition assignment | expression1 värdet på expression1 + expression2 . | |
/= | division assignment | expression1 värdet på expression1 / expression2 . | |
%= | modulo assignment | expression1 värdet på expression1 % expression2 . | |
*= | multiplication assignment | expression1 värdet på expression1 * expression2 . | |
-= | subtraction assignment | expression1 värdet på expression1 - expression2 . | |
bitform | |||
& | bitwise AND | expression1 och expression2 till 32-bitars heltal utan tecken och utför en boolesk AND-åtgärd på varje bit i heltalsparametrarna. | |
<< | bitwise left shift | expression1 och shiftCount till 32-bitars heltal och flyttar alla bitar i expression1 till vänster med det antal platser som anges av heltalet i resultatet av konverteringen av shiftCount . | |
~ | bitwise NOT | expression till ett 32-bitars heltal med tecken och tillämpar sedan ett enkomplementtal i bitform. | |
| | bitwise OR | expression1 och expression2 till 32-bitars heltal utan tecken och placerar en etta i varje bitposition, där de motsvarande bitarna för expression1 eller expression2 är 1. | |
>> | bitwise right shift | expression och shiftCount till 32-bitars heltal och flyttar alla bitar i expression till höger med det antal platser som anges av heltalet i resultatet av konverteringen av shiftCount . | |
>>> | bitwise unsigned right shift | >> ), förutom att den inte bevarar tecknet i det ursprungliga uttrycket eftersom bitarna till vänster alltid fylls med 0. | |
^ | bitwise XOR | expression1 och expression2 till 32-bitars heltal utan tecken och placerar en etta i varje bitposition, där de motsvarande bitarna för expression1 eller expression2 (men inte båda) är 1. | |
jämförelse | |||
== | equality | ||
> | greater than | expression1 är större än expression2 . I så fall är resultatet true . | |
>= | greater than or equal to | expression1 är större än eller lika med expression2 (true ) eller om expression1 är mindre än expression2 (false ). | |
!= | inequality | == ). | |
< | less than | expression1 är mindre än expression2 . I så fall är resultatet true . | |
<= | less than or equal to | expression1 är mindre än eller lika med expression2 . I så fall är resultatet true . | |
=== | strict equality | ||
!== | strict inequality | === ). | |
kommentar | |||
/*..*/ | block comment delimiter | ||
// | line comment delimiter | ||
logiskt | |||
&& | logical AND | expression1 om det är false eller kan konverteras till false ; i annat fall returneras expression2 . | |
&&= | logical AND assignment | expression1 värdet på expression1 && expression2 . | |
! | logical NOT | ||
|| | logical OR | expression1 om det är true eller kan konverteras till true , och i annat fall returneras expression2 . | |
||= | logical OR assignment | expression1 värdet på expression1 || expression2 . | |
övriga | |||
[] | array access | a0 och så vidare) eller använder elementen i en array. | |
as | |||
, | comma | expression1 , sedan expression2 o.s.v. | |
?: | conditional | expression1 , och om värdet på expression1 är true är resultatet värdet för expression2 ; i annat fall är resultatet värdet för expression3 . | |
delete | reference . Resultatet är true om egenskapen inte finns när åtgärden har slutförts, i annat fall är det false . | ||
. | dot | ||
in | |||
instanceof | function . | ||
is | |||
:: | name qualifier | ||
new | |||
{} | object initializer | name och value . | |
() | parentheses | ||
/ | RegExp delimiter | ||
: | type | ||
typeof | expression och returnerar en sträng som anger uttryckets datatyp. | ||
void | undefined . | ||
sammansatt tilldelning i bitform | |||
&= | bitwise AND assignment | expression1 värdet på expression1 & expression2 . | |
<<= | bitwise left shift and assignment | <<= ) och lagrar innehållet som ett resultat i expression1 . | |
|= | bitwise OR assignment | expression1 värdet på expression1 | expression2 . | |
>>= | bitwise right shift and assignment | expression . | |
>>>= | bitwise unsigned right shift and assignment | expression . | |
^= | bitwise XOR assignment | expression1 värdet på expression1 ^ expression2 . | |
sträng | |||
+ | concatenation | ||
+= | concatenation assignment | expression1 värdet på expression1 + expression2 . | |
" | string delimiter | ||
tilldelning | |||
= | assignment | expression2 (operanden till höger) till variabeln, arrayelementet eller egenskapen i expression1 . | |
XML | |||
@ | attribute identifier | ||
{ } | braces (XML) | ||
[ ] | brackets (XML) | ||
+ | concatenation (XMLList) | ||
+= | concatenation assignment (XMLList) | expression1 , som är ett XMLList-objekt, värdet på expression1 + expression2 . | |
delete (XML) | reference . | ||
.. | descendant accessor | ||
. | dot (XML) | ||
( ) | parentheses (XML) | ||
< > | XML literal tag delimiter |
+ addition | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Lägger ihop numeriska uttryck. Om båda uttrycken är heltal är summan ett heltal. Om något av eller båda uttrycken är flyttal är summan ett flyttal.
Om ett uttryck är en sträng konverteras alla andra uttryck till strängar och sammanfogas i stället för att summeras. I annat fall, om ett uttryck inte är ett tal, konverteras det till ett tal i Flash® Player.
Operanderexpression1:Number —
Ett värde som ska läggas till.
| |
expression2:Number —
Ett värde som ska läggas till.
|
Number —
Ett heltal eller flyttal.
|
Exempel
Så här använder du exemplet
Denna programsats adderar heltalen 2 och 3:
trace(2 + 3); // 5
trace(2.5 + 3.25); // 5.75
trace("Number " + 8 + 0); // Number 80
deposit
ett indatatextfält på scenen. När en användare har angett en depositionssumma försöker skriptet lägga till deposit
i oldBalance
. Men eftersom deposit
är av typen String sammanfogar skriptet variabelvärdena (kombinerar dem till en sträng) i stället för att summera dem.
var oldBalance:Number = 1345.23; var currentBalance = deposit_txt.text + oldBalance; trace(currentBalance);
trace()
-programsatsen värdet 4751345,23 till utdatapanelen. För att rätta till detta använder du funktionen Number()
för att konvertera strängen till ett tal, som här:
var oldBalance:Number = 1345.23; var currentBalance:Number = Number(deposit_txt.text) + oldBalance; trace(currentBalance);
Relaterade API-element
+= addition assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tilldelar expression1
värdet på expression1 + expression2
. Till exempel får följande två programsatser samma resultat:
x += y; x = x + y;Alla regler för additionsoperatorn (+) gäller operatorn additionstilldelning (
+=
).
Operanderexpression1:Number —
Ett tal.
| |
expression2:Number —
Ett tal.
|
Number —
Resultatet av additionen.
|
Exempel
Så här använder du exemplet
Följande exempel visar en numerisk användning av operatorn additionstilldelning (
+=
):
var x:Number = 5; var y:Number = 10; x += y; trace(x); // 15
Relaterade API-element
[] array access | Operatorn |
|
Körningsmiljöversioner: | Flash Player 9 |
Initierar en ny array eller flerdimensionell array med angivna element (a0
och så vidare) eller använder elementen i en array. Med arrayåtkomstoperatorn kan du dynamiskt ange och hämta instans-, variabel- och objektnamn. Du kan även använda den för att komma åt objektegenskaper.
Användning 1: En array är ett objekt vars egenskaper kallas element, där vart och ett av dessa identifieras av ett tal som kallas index. När du skapar en array omger du elementen med arrayåtkomstoperatorn ([]) (eller hakparenteser). En array kan innehålla element av olika typer. Följande array, som heter employee
, har till exempel tre element. Det första är ett tal och de andra två är strängar (inom citattecken):
var employee:Array = [15, "Barbara", "Jay"];
ticTacToe
och tre element. Varje element är också en array med tre element: var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; /* Select Debug > List Variables in test mode to see a list of the array elements.*/
var my_array:Array = new Array(); my_array[0] = 15; my_array[1] = "Hello"; my_array[2] = true;
my_array[3] = "George";
trace
-programsats hittar det tredje elementet (index 2) för den andra arrayen (index 1).
var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; trace(ticTacToe[1][2]); // 6
var obj:Object = new Object(); obj.prop1 = "foo"; trace(obj["prop" + 1]); // foo obj.prop2 = "bar"; for (j in obj) { trace(obj[j]); } /* Output of for loop: foo bar */
myArray:Object —
Namnet på en array.
| |
a0, a1,...aN:Object —
Element i en array; alla ursprungliga typer eller objektinstanser, inklusive kapslade arrayer.
| |
i:Number —
Ett indexvärde (heltal) som är större än eller lika med 0.
| |
myObject:Object —
Namnet på ett objekt.
| |
propertyName:String —
En sträng som namnger en objektegenskap.
|
Object —
Användning 1: En referens till en array. Användning 2: Ett värde från arrayen, antingen en ursprunglig typ eller en objektinstans (inklusive en Array-instans). Användning 3: En egenskap från objektet, antingen en ursprunglig typ eller en objektinstans (inklusive en Array-instans). |
Exempel
Så här använder du exemplet
Följande exempel visar två sätt att skapa en ett nytt, tomt Array-objekt. I första raden används klammerparenteser:
var my_array:Array = []; var my_array:Array = new Array();
I följande exempel skapas en array med namnet employee_array
med tre element och det tredje elementet i arrayen ändras.
var employee_array = ["Barbara", "George", "Mary"]; trace(employee_array); // Barbara,George,Mary employee_array[2] = "Sam"; trace(employee_array); // Barbara,George,Sam
obj
:
var obj:Object = new Object(); obj.prop1 = "foo"; obj.prop2 = "bar"; for (var i:int = 1;i < 3;i++) { trace(obj["prop"+i]); } /* Output of for loop: foo bar */
Relaterade API-element
as | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Utvärderar om ett uttryck som specificeras av den första operanden tillhör den datatyp som anges av den andra operanden. Om den första operanden tillhör datatypen blir resultatet den första operanden. Annars är värdet null
.
Uttrycket som används för den andra operanden måste utvärderas till en datatyp.
Operanderexpression:* —
Det värde som ska kontrolleras mot den angivna datatypen.
| |
datatype:Class —
Den datatyp som används för att utvärdera operanden expression . Typen *, som betyder inte typbestämd, kan inte användas.
|
Object —
Resultatet är expression om expression tillhör en datatyp som angetts i datatype . Annars är värdet null .
|
Exempel
Så här använder du exemplet
I följande exempel skapas en enkel array med namnet
myArray
och as
-operatorn används med olika datatyper.
public var myArray:Array = ["one", "two", "three"]; trace(myArray as Array); // one,two,three trace(myArray as Number); // null trace(myArray as int); // null
Relaterade API-element
= assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tilldelar värdet på expression2
(operanden till höger) till variabeln, arrayelementet eller egenskapen i expression1
. Tilldelning kan antingen ske med ett värde eller med en referens. Tilldelning med hjälp av värde kopierar det faktiska värdet för expression2
och lagrar det i expression1
. Tilldelning med hjälp av värde sker när expression2
är ett primitivt värde, vilket betyder att dess datatyp är antingen Boolean, Number, int, uint eller String. Tilldelning med hjälp av referens lagrar en referens till expression2
i expression1
. Tilldelning med hjälp av referens används ofta med operatorn new
. Operatorn new
skapar ett objekt i minnet, och en referens till den platsen i minnet tilldelas en variabel.
Obs! I ActionScript 3.0 är alla värden (inklusive primitiva värden) objekt, och all tilldelning sker med hjälp av referenser, men primitiva objekt har särskilda operatorer som innebär att de fungerar som om de tilldelats med hjälp av värde.
Operanderexpression1:* —
En variabel, ett arrayelement eller en objektegenskap.
| |
expression2:* —
Ett värde av valfri typ.
|
Object —
Det tilldelade värdet, expression2 .
|
Exempel
Så här använder du exemplet
I följande exempel används tilldelning med hjälp av värde för att tilldela variabeln
z
värdet 5.
var z:Number = 5;
z
värdet hello
.
var x:String; x = "hello";
moonsOfJupiter
, som innehåller en referens till ett nyligen skapat Array-objekt. Tilldelning med hjälp av värde används sedan för att kopiera värdet ”Callisto” till det första elementet i den array som variabeln moonsOfJupiter
refererar till:
var moonsOfJupiter:Array = new Array(); moonsOfJupiter[0] = "Callisto";
mercury
en referens till det objektet. Tilldelning med hjälp av värde används sedan för att tilldela egenskapen diameter
för mercury
-objektet värdet 3030:
var mercury:Object = new Object(); mercury.diameter = 3030; // in miles trace(mercury.diameter); // 3030
merkur
(tyska för Merkurius) och tilldela det värdet för mercury
. På så sätt skapas två variabler som refererar till samma objekt i minnet, vilket betyder att du kan använda båda variablerna för att få åtkomst till objektets egenskaper. Sedan kan du ändra egenskapen diameter
så att den använder kilometer i stället för engelska mil:
var merkur:Object = mercury; merkur.diameter = 4878; // in kilometers trace(mercury.diameter); // 4878
Relaterade API-element
@ attribute identifier | Operatorn |
myXML.@attributeName |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Identifierar attribut för ett XML- eller XMLList-objekt. myXML.@id
identifierar till exempel attribut med namnet id
för XML-objektet myXML
. Du kan också använda följande syntax för att komma åt attribut: myXML.attribute("id")
, myXML["@id"]
och myXML.@["id"]
. Du bör använda syntaxen myXML.@id
. Använd @*
om du vill returnera ett XMLList-objekt med alla attributnamn. Om du vill returnera ett attribut med ett namn som matchar ett reserverat ord i ActionScript använder du metoden attribute()
i stället för operatorn @
.
attributeName:* —
Attributnamnet.
|
Exempel
Så här använder du exemplet
Det första exemplet visar hur du använder operatorn
@
(snabel-a) för att identifiera ett elements attribut:
var myXML:XML = <item id = "42"> <catalogName>Presta tube</catalogName> <price>3.99</price> </item>; trace(myXML.@id); // 42
var xml:XML =<example id='123' color='blue'/> var xml2:XMLList = xml.@*; trace(xml2 is XMLList); // true trace(xml2.length()); // 2 for (var i:int = 0; i < xml2.length(); i++) { trace(typeof(xml2[i])); // xml trace(xml2[i].nodeKind()); // attribute trace(xml2[i].name()); // id and color }
xml.@class
(eftersom class
är ett reserverat ord i ActionScript). Du måste använda syntaxen xml.attribute("class")
:
var xml:XML = <example class='123'/> trace(xml.attribute("class"));
Relaterade API-element
& bitwise AND | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Konverterar expression1
och expression2
till 32-bitars heltal utan tecken och utför en boolesk AND-åtgärd på varje bit i heltalsparametrarna. Flyttal konverteras till heltal genom att alla siffror efter decimalkommat tas bort. Resultatet är ett nytt 32-bitars heltal.
Ett positivt heltal konverteras till ett hexadecimalt värde utan tecken med ett maximalt värde på 4294967295 eller 0xFFFFFFFF. För ett värde som är högre än det maximala värdet tas de mest betydande siffrorna bort när det konverteras, så att värdet förblir 32 bitar. Ett negativt tal konverteras till ett hexadecimalt värde utan tecken med hjälp av tvåkomplementnotation och det minsta värdet är -2147483648 eller 0x800000000. Ett tal som är mindre än det minsta värdet konverteras till tvåkomplement med större precision innan de viktigaste siffrorna tas bort.
Resultatet tolkas som ett 32-bitars tvåkomplementtal så att resultatet är ett heltal i området -2147483648 till 2147483647.
Operanderexpression1:Number —
Ett tal eller uttryck som utvärderas till ett tal.
| |
expression2:Number —
Ett tal eller uttryck som utvärderas till ett tal.
|
int —
Resultatet av bitåtgärden.
|
Exempel
Så här använder du exemplet
Följande exempel utför en AND på 13 (binärt 1101) och 11 (binärt 1011) i bitform genom att jämföra talens bitrepresentationer. Det resulterande heltalet består av en bitföljd, där varje bit bara sätts till 1 om bitarna för bägge operanderna i samma position är 1.
var insert:Number = 13; var update:Number = 11; trace(insert & update); // 9 (or 1001 binary)
1101 & 1011 ---- 1001
I följande exempel visas beteendet för returvärdeskonverteringen:
trace(0xFFFFFFFF); // 4294967295 trace(0xFFFFFFFF & 0xFFFFFFFF); // -1 trace(0xFFFFFFFF & -1); // -1 trace(4294967295 & -1); // -1 trace(4294967295 & 4294967295); // -1
Relaterade API-element
&= bitwise AND assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tilldelar expression1
värdet på expression1
& expression2
. Följande två uttryck är likvärdiga:
x &= y; x = x & y;Operander
expression1:Number —
Ett tal eller uttryck som utvärderas till ett tal.
| |
expression2:Number —
Ett tal eller uttryck som utvärderas till ett tal.
|
int —
Värdet på expression1 & expression2 .
|
Exempel
Så här använder du exemplet
I följande exempel tilldelas
x
värdet 9:
var x:Number = 15; var y:Number = 9; trace(x &= y); // 9
Relaterade API-element
<< bitwise left shift | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Konverterar expression1
och shiftCount
till 32-bitars heltal och flyttar alla bitar i expression1
till vänster med det antal platser som anges av heltalet i resultatet av konverteringen av shiftCount
. Bitpositionerna som töms på grund av den här åtgärden fylls i med 0 och bitar som flyttas från vänsteränden tas bort. Att flytta ett värde till vänster med en position är samma sak som att multiplicera det med 2.
Flyttal konverteras till heltal genom att alla siffror efter decimalkommat tas bort. Ett positivt heltal konverteras till ett hexadecimalt värde utan tecken med ett maximalt värde på 4294967295 eller 0xFFFFFFFF. För ett värde som är högre än det maximala värdet tas de mest betydande siffrorna bort när det konverteras, så att värdet förblir 32 bitar. Ett negativt tal konverteras till ett hexadecimalt värde utan tecken med hjälp av tvåkomplementnotation och det minsta värdet är -2147483648 eller 0x800000000. Ett tal som är mindre än det minsta värdet konverteras till tvåkomplement med större precision innan de viktigaste siffrorna tas bort.
Resultatet tolkas som ett 32-bitars tvåkomplementtal så att resultatet är ett heltal i området -2147483648 till 2147483647.
Om resultatet är ett negativt heltal inträffar ett körningsfel om du försöker tilldela resultatet till en variabel av typen uint
. ActionScript har visserligen ingen "vänsterflyttning i bitform utan tecken"-operatorn, men du kan uppnå samma effekt och undvika körningsfel om du använder uint(expression1 << shiftCount)
:
var num1:uint = 0xFF; var num2:uint = uint(num1 << 24); // uint() prevents runtime error
expression1:Number —
Ett tal eller ett uttryck som ska flyttas till vänster.
| |
shiftCount:Number —
Ett tal eller ett uttryck som konverteras till ett heltal mellan 0 och 31.
|
int —
Resultatet av bitåtgärden.
|
Exempel
Så här använder du exemplet
i följande exempel flyttas heltalet 1 tio bitar till vänster:
x = 1 << 10
00000000001 binary << 10 decimal -------------- 10000000000 binary equals 1024 decimal
I följande exempel flyttas heltalet 7 åtta bitar till vänster:
x = 7 << 8
00000000111 binary << 8 decimal -------------- 11100000000 binary equals 1792 decimal
Följande trace
-programsats visar att bitarna har flyttats tre steg åt vänster:
// 1 binary == 0001 // 8 binary == 1000 trace(1 << 3); // 8
Relaterade API-element
<<= bitwise left shift and assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Utför en åtgärd med vänsterflyttning i bitform (<<=
) och lagrar innehållet som ett resultat i expression1
. Följande två uttryck är likvärdiga:
A <<= B A = (A << B)Operander
expression1:Number —
Ett tal eller ett uttryck som ska flyttas till vänster.
| |
expression2:Number —
Ett tal eller ett uttryck som konverteras till ett heltal mellan 0 och 31.
|
int —
Resultatet av bitåtgärden.
|
Exempel
Så här använder du exemplet
I följande exempel använder du operatorn för vänsterflyttning i bitform och tilldelning (<<=) för att flytta alla bitar en position åt vänster:
var x:Number = 4; // Shift all bits one slot to the left. x <<= 1; trace(x); // 8 // 4 decimal = 0100 binary // 8 decimal = 1000 binary
Relaterade API-element
~ bitwise NOT | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Konverterar expression
till ett 32-bitars heltal med tecken och tillämpar sedan ett enkomplementtal i bitform. Det innebär att varje bit som är en nolla blir 1 i resultatet och varje bit som är en etta blir 0 i resultatet. Resultatet är ett 32-bitars heltal med tecken. Denna operatorn kallas även enkomplementsoperator eller en komplementoperator i bitform.
Det hexadecimala värdet 0x7777 representeras till exempel av det här binära talet:
0111011101110111
Bitnegationen för det hexadecimala värdet, ~0x7777, är det här binära talet:
1000100010001000
I hexadecimal form är det 0x8888. Därför är ~0x7777 0x8888.
Det vanligaste användningsområdet för bitoperatorer är representation av flaggbitar (booleska värden som lagras i en bit vardera).
Flyttal konverteras till heltal genom att alla siffror efter decimalkommat tas bort. Ett positivt heltal konverteras till ett hexadecimalt värde utan tecken med ett maximalt värde på 4294967295 eller 0xFFFFFFFF. För ett värde som är högre än det maximala värdet tas de mest betydande siffrorna bort när det konverteras, så att värdet förblir 32 bitar. Ett negativt tal konverteras till ett hexadecimalt värde utan tecken med hjälp av tvåkomplementnotation och det minsta värdet är -2147483648 eller 0x800000000. Ett tal som är mindre än det minsta värdet konverteras till tvåkomplement med större precision innan de viktigaste siffrorna tas bort.
Resultatet tolkas som ett 32-bitars tvåkomplementtal så att resultatet är ett heltal i området -2147483648 till 2147483647.
Operanderexpression:Number —
Ett tal som ska konverteras.
|
int —
Resultatet av bitåtgärden.
|
Exempel
Så här använder du exemplet
I följande exempel visas en användning av operatorn NOT i bitform (
~
) med flaggbitar:
var ReadOnlyFlag:int = 0x0001; // defines bit 0 as the read-only flag var flags:int = 0; trace(flags); /* To set the read-only flag in the flags variable, the following code uses the bitwise OR: */ flags |= ReadOnlyFlag; trace(flags); /* To clear the read-only flag in the flags variable, first construct a mask by using bitwise NOT on ReadOnlyFlag. In the mask, every bit is a 1 except for the read-only flag. Then, use bitwise AND with the mask to clear the read-only flag. The following code constructs the mask and performs the bitwise AND: */ flags &= ~ReadOnlyFlag; trace(flags); // 0 1 0
Relaterade API-element
| bitwise OR | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Konverterar expression1
och expression2
till 32-bitars heltal utan tecken och placerar en etta i varje bitposition, där de motsvarande bitarna för expression1
eller expression2
är 1.
Flyttal konverteras till heltal genom att alla siffror efter decimalkommat tas bort. Ett positivt heltal konverteras till ett hexadecimalt värde utan tecken med ett maximalt värde på 4294967295 eller 0xFFFFFFFF. För ett värde som är högre än det maximala värdet tas de mest betydande siffrorna bort när det konverteras, så att värdet förblir 32 bitar. Ett negativt tal konverteras till ett hexadecimalt värde utan tecken med hjälp av tvåkomplementnotation och det minsta värdet är -2147483648 eller 0x800000000. Ett tal som är mindre än det minsta värdet konverteras till tvåkomplement med större precision innan de viktigaste siffrorna tas bort.
Resultatet tolkas som ett 32-bitars tvåkomplementtal så att resultatet är ett heltal i området -2147483648 till 2147483647.
Operanderexpression1:Number —
Ett tal.
| |
expression2:Number —
Ett tal.
|
int —
Resultatet av bitåtgärden.
|
Exempel
Så här använder du exemplet
Följande är ett exempel på åtgärden OR i bitform (
|
): // 15 decimal = 1111 binary var a:Number = 15; // 9 decimal = 1001 binary var b:Number = 9; // 1111 | 1001 = 1111 trace(a | b); // returns 15 decimal (1111 binary)
|
(OR i bitform) med ||
(logiskt OR).
Relaterade API-element
|= bitwise OR assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tilldelar expression1
värdet på expression1 | expression2
. Följande två programsatser är till exempel likvärdiga:
x |= y; x = x | y;Operander
expression1:Number —
Ett tal som ska konverteras.
| |
expression2:Number —
Ett tal som ska konverteras.
|
int —
Resultatet av bitåtgärden.
|
Exempel
Så här använder du exemplet
I följande exempel används operatorn OR-tilldelning i bitform (
|=
): // 15 decimal = 1111 binary var a:Number = 15; // 9 decimal = 1001 binary var b:Number = 9; // 1111 |= 1001 = 1111 trace(a |= b); // returns 15 decimal (1111 binary)
Relaterade API-element
>> bitwise right shift | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Konverterar expression
och shiftCount
till 32-bitars heltal och flyttar alla bitar i expression
till höger med det antal platser som anges av heltalet i resultatet av konverteringen av shiftCount
. Bitar som flyttas från högersidan tas bort. För att behålla tecknet för det ursprungliga uttrycket fylls bitarna till vänster i med 0 om den viktigaste biten (biten längst till vänster) i expression
är 0, och de fylls i med 1 om den viktigaste biten är 1. Att flytta ett värde åt höger med en position är detsamma som att dela med 2 och ta bort resten.
Flyttal konverteras till heltal genom att alla siffror efter decimalkommat tas bort. Ett positivt heltal konverteras till ett hexadecimalt värde utan tecken med ett maximalt värde på 4294967295 eller 0xFFFFFFFF. För ett värde som är högre än det maximala värdet tas de mest betydande siffrorna bort när det konverteras, så att värdet förblir 32 bitar. Ett negativt tal konverteras till ett hexadecimalt värde utan tecken med hjälp av tvåkomplementnotation och det minsta värdet är -2147483648 eller 0x800000000. Ett tal som är mindre än det minsta värdet konverteras till tvåkomplement med större precision innan de viktigaste siffrorna tas bort.
Resultatet tolkas som ett 32-bitars tvåkomplementtal så att resultatet är ett heltal i området -2147483648 till 2147483647.
Operanderexpression:Number —
Ett tal eller ett uttryck som ska flyttas till höger.
| |
shiftCount:Number —
Ett tal eller ett uttryck som konverteras till ett heltal mellan 0 och 31.
|
int —
Resultatet av bitåtgärden.
|
Exempel
Så här använder du exemplet
I följande exempel konverteras 65535 till ett 32-bitars heltal och det flyttas 8 bit till höger vilket resulterar i ett decimalvärde på 255:
var a:Number = 65535 >> 8; trace(a); // 255
00000000000000001111111111111111 binary (65535 decimal) >> 8 decimal -------------------- 00000000000000000000000011111111 binary (255 decimal)I följande exempel konverteras -8 till ett 32-bitars heltal och det flyttas 1 bit till höger vilket resulterar i ett decimalvärde på -4:
var a:Number = -8 >> 1; trace(a); // -4
11111111111111111111111111111000 binary (-8 decimal) >> 1 decimal -------------------- 11111111111111111111111111111100 binary (-4 decimal)
Relaterade API-element
>>= bitwise right shift and assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Utför en åtgärd med högerflyttning i bitform och lagrar resultat i expression
.
Följande två programsatser är likvärdiga:
A >>= B; A = (A >> B);Operander
expression:Number —
Ett tal eller ett uttryck som ska flyttas till höger.
| |
shiftCount:Number —
Ett tal eller ett uttryck som konverteras till ett heltal mellan 0 och 31.
|
int —
Resultatet av bitåtgärden.
|
Exempel
Så här använder du exemplet
I följande kod används operatorn högerflyttning i bitform och tilldelning (
>>=
).
function convertToBinary(numberToConvert:Number):String { var result:String = ""; for (var i = 0; i < 32; i++) { // Extract least significant bit using bitwise AND. var lsb:Number = numberToConvert & 1; // Add this bit to the result. result = (lsb ? "1" : "0")+result; // Shift numberToConvert right by one bit, to see next bit. numberToConvert >>= 1; } return result; } trace(convertToBinary(479)); // Returns the string 00000000000000000000000111011111. // This string is the binary representation of the decimal number 479.
Relaterade API-element
>>> bitwise unsigned right shift | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Samma som operatorn för högerflyttning i bitform (>>
), förutom att den inte bevarar tecknet i det ursprungliga uttrycket eftersom bitarna till vänster alltid fylls med 0.
Flyttal konverteras till heltal genom att alla siffror efter decimalkommat tas bort. Ett positivt heltal konverteras till ett hexadecimalt värde utan tecken med ett maximalt värde på 4294967295 eller 0xFFFFFFFF. För ett värde som är högre än det maximala värdet tas de mest betydande siffrorna bort när det konverteras, så att värdet förblir 32 bitar. Ett negativt tal konverteras till ett hexadecimalt värde utan tecken med hjälp av tvåkomplementnotation och det minsta värdet är -2147483648 eller 0x800000000. Ett tal som är mindre än det minsta värdet konverteras till tvåkomplement med större precision innan de viktigaste siffrorna tas bort.
Resultatet tolkas som ett 32-bitars tvåkomplementtal utan tecken så att resultatet är ett heltal i området 0 till 4294967295.
Obs! ActionScript har ingen "vänsterflyttning i bitform utan tecken"-operatorn, men du kan uppnå samma sak med uint(expression << shiftCount)
.
expression:Number —
Ett tal eller ett uttryck som ska flyttas till höger.
| |
shiftCount:Number —
Ett tal eller ett uttryck som konverteras till ett heltal mellan 0 och 31.
|
uint —
Resultatet av bitåtgärden.
|
Exempel
Så här använder du exemplet
I följande exempel konverteras -1 till ett 32-bitars heltal och det flyttas 1 bit till höger:
var a:Number = -1 >>> 1; trace(a); // 2147483647
Relaterade API-element
>>>= bitwise unsigned right shift and assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Utför en åtgärd med högerflyttning i bitform utan tecken och lagrar resultat i expression
. Följande två programsatser är likvärdiga:
A >>>= B; A = (A >>> B);Operander
expression:Number —
Ett tal eller ett uttryck som ska flyttas till höger.
| |
shiftCount:Number —
Ett tal eller ett uttryck som konverteras till ett heltal mellan 0 och 31.
|
uint —
Resultatet av bitåtgärden.
|
Exempel
Så här använder du exemplet
I följande exempel konverteras -1 till ett 32-bitars heltal och det flyttas 1 bit till höger:
var a:Number = -1; a >>>= 1; trace(a); // 2147483647
Relaterade API-element
^ bitwise XOR | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Konverterar expression1
och expression2
till 32-bitars heltal utan tecken och placerar en etta i varje bitposition, där de motsvarande bitarna för expression1
eller expression2
(men inte båda) är 1.
Flyttal konverteras till heltal genom att alla siffror efter decimalkommat tas bort. Ett positivt heltal konverteras till ett hexadecimalt värde utan tecken med ett maximalt värde på 4294967295 eller 0xFFFFFFFF. För ett värde som är högre än det maximala värdet tas de mest betydande siffrorna bort när det konverteras, så att värdet förblir 32 bitar. Ett negativt tal konverteras till ett hexadecimalt värde utan tecken med hjälp av tvåkomplementnotation och det minsta värdet är -2147483648 eller 0x800000000. Ett tal som är mindre än det minsta värdet konverteras till tvåkomplement med större precision innan de viktigaste siffrorna tas bort.
Resultatet tolkas som ett 32-bitars tvåkomplementtal så att resultatet är ett heltal i området -2147483648 till 2147483647.
Operanderexpression1:Number —
Ett tal eller uttryck som utvärderas till ett tal.
| |
expression2:Number —
Ett tal eller uttryck som utvärderas till ett tal.
|
int —
Resultatet av bitåtgärden.
|
Exempel
Så här använder du exemplet
I följande exempel används operatorn XOR i bitform på decimaltalen 15 och 9 och resultatet tilldelas variabeln
a
:
// 15 decimal = 1111 binary // 9 decimal = 1001 binary var a:Number = 15 ^ 9; trace(a); // 1111 ^ 1001 = 0110 // returns 6 decimal (0110 binary)
Relaterade API-element
^= bitwise XOR assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tilldelar expression1
värdet på expression1 ^ expression2
. Följande två programsatser är till exempel likvärdiga:
x ^= y x = x ^ yOperander
expression1:Number —
Ett tal eller uttryck som utvärderas till ett tal.
| |
expression2:Number —
Ett tal eller uttryck som utvärderas till ett tal.
|
int —
Resultatet av bitåtgärden.
|
Exempel
Så här använder du exemplet
I följande exempel visas operatorn XOR-tilldelning i bitform (^=):
// 15 decimal = 1111 binary var a:Number = 15; // 9 decimal = 1001 binary var b:Number = 9; trace(a ^= b); // returns 6 decimal (0110 binary)
Relaterade API-element
/*..*/ block comment delimiter | Operatorn |
/* comment */ /* comment comment */ |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Avgränsar en eller flera rader med skriptkommentarer. Tecken mellan den inledande avgränsaren (/*
) och den avslutande avgränsaren (*/
) tolkas som en kommentar och ignoreras av ActionScript-kompileraren. Använd dessa avgränsare för att identifiera kommentarer som sträcker sig över flera rader. För enradiga kommentarer använder du avgränsaren //
.
Om du utelämnar den avslutande blockkommentaravgränsaren (*/
) eller försöker kapsla in kommentarer får du ett felmeddelande. När du har använt en inledande avgränsare (/*
) avslutar den första avslutande avgränsaren (*/
) kommentaren, oavsett hur många inledande avgränsare som placerats före den.
comment:* —
Alla tecken.
|
Exempel
Så här använder du exemplet
I följande skript används block kommentaravgränsare i början av skriptet:
/* records the X and Y positions of the ball and bat movie clips */ var ballX:Number = ball_mc._x; var ballY:Number = ball_mc._y; var batX:Number = bat_mc._x; var batY:Number = bat_mc._y;
/* This is an attempt to nest comments. /* But the first closing tag will be paired with the first opening tag */ and this text will not be interpreted as a comment */
Relaterade API-element
{ } braces (XML) | Operatorn |
myXML = <{tagName} {attributeName} = {attributeValue}>{content}{tagName}> |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Utvärderar ett uttryck som används i en XML- eller XMLList-initierare. En XML- eller XMLList-initierare är ett litteralt värde som tilldelas till en variabel av typ XML eller XMLList. Ett uttryck som avgränsas av XML-operatorerna {
och }
kan användas i en XML- eller XMLList-initierare i stället för namn eller värden. Du kan använda ett uttryck i stället för tagName
, attributeName
, attributeValue
och content
.
myXML:* —
Ett XML- eller XMLList-objekt.
| |
tagName:* —
Ett uttryck som utvärderas till namnet på en XML-tagg.
| |
attributeName:* —
Ett uttryck som utvärderas till namnet på ett XML-attribut.
| |
attributeValue:* —
Ett uttryck som utvärderas till värdet på ett XML-attribut.
| |
content:* —
Ett uttryck som utvärderas till innehållet i en XML-tagg.
|
Exempel
Så här använder du exemplet
Följande exempel visar hur man använder operatorerna { och } vid definiering av en XML-litteral:
var tagname:String = "item"; var attributename:String = "id"; var attributevalue:String = "5"; var content:String = "Chicken"; var x:XML = <{tagname} {attributename}={attributevalue}>{content}</{tagname}>; trace(x.toXMLString()); // <item id="5">Chicken</item>
Relaterade API-element
[ ] brackets (XML) | Operatorn |
myXML[expression] |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Använder en egenskap eller ett attribut för ett XML- eller XMLList-objekt. Med hakparentesoperatorn kan du komma åt egenskapsnamn som inte är tillgängliga med punktoperatorn (.
).
myXML:* —
Ett XML- eller XMLList-objekt.
| |
expression:* —
Ett uttryck som utvärderas till namnet på en XML-tagg eller ett XML-attribut.
|
Exempel
Så här använder du exemplet
Följande exempel visar hur du använder operatorerna
[
och ]
för att komma åt en XML-egenskap som inte är tillgänglig med punktoperatorn på grund av bindestrecket i taggens namn:
var myXML:XML = <a><foo-bar>44</foo-bar></a>; trace(myXML["foo-bar"]);
Relaterade API-element
, comma | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Utvärderar expression1
, sedan expression2
o.s.v. Den här operatorn används främst med slingprogramsatsen for
och ofta med parentesoperatorn ()
.
expression1:* —
Ett uttryck som ska utvärderas.
| |
expression2:* —
Ett uttryck som ska utvärderas.
| |
expressionN:* —
Alla tal i tilläggsuttryck som ska utvärderas.
|
Object —
De utvärderade uttryckens värden.
|
Exempel
Så här använder du exemplet
I följande exempel används kommaoperatorn (
,
) i en for
-slinga:
for (i = 0, j = 0; i < 3 && j < 3; i++, j+=2) { trace("i = " + i + ", j = " + j); } // output: // i = 0, j = 0 // i = 1, j = 2
=
):
var v:Number = 0; v = 4, 5, 6; trace(v); // 4
var v:Number = 0; v = (4, 5, 6); trace(v); // 6
v + 4
, tilldelas variabeln v
eftersom tilldelningsoperatorn (=) har högre prioritet än kommaoperatorn. Det andra uttrycket, z++
, utvärderas och z
ökas med ett.
var v:Number = 0; var z:Number = 0; v = v + 4 , z++, v + 6; trace(v); // 4 trace(z); // 1
=
):
var v:Number = 0; var z:Number = 0; v = (v + 4, z++, v + 6); trace(v); // 6 trace(z); // 1
Relaterade API-element
+ concatenation | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Sammanfogar (kombinerar) strängar. Om ett uttryck är en sträng konverteras alla andra uttryck till strängar och sammanfogas.
Om båda uttrycken är tal fungerar operatorn som en additionsoperator.
Operanderexpression1:String —
En sträng som ska konkateneras.
| |
expression2:String —
En sträng som ska konkateneras.
|
String —
Den sammanfogade strängen.
|
Exempel
Så här använder du exemplet
Följande exempel sammanfogar två strängar.
var lastName:String = "Cola"; var instrument:String = "Drums"; trace(lastName + " plays " + instrument); // Cola plays Drums
trace("Number " + 8 + 0); // Number 80
var a:String = 3 + 10 + "asdf"; trace(a); // 13asdf var b:String = "asdf" + 3 + 10; trace(b); // asdf310
Relaterade API-element
+ concatenation (XMLList) | Operatorn |
expression1 + expression2 |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Sammanfogar (kombinerar) XML- eller XMLList-värden till ett XMLList-objekt. Ett XMLList-objekt resulterar bara om bägge operanderna är XML- eller XMLList-värden.
Operanderexpression1:* —
Ett XML- eller XMLList-värde.
| |
expression2:* —
Ett XML- eller XMLList-värde.
|
XMLList —
Det sammanfogade XMLList-objektet.
|
Exempel
Så här använder du exemplet
Följande exempel visar hur du använder operatorn XMLList (
+
) (sammanfogning):
var x1:XML = <employee id = "42"> <firstName>Joe</firstName> <lastName>Smith</lastName> </employee>; var x2:XML = <employee id = "43"> <firstName>Susan</firstName> <lastName>Jones</lastName> </employee>; var myXMLList:XMLList = x1 + x2; trace(myXMLList.toXMLString());
Programsatsen trace
ger följande utdata:
<employee id = "42">
<firstName>Joe</firstName>
<lastName>Smith</lastName>
</employee>
<employee id = "43">
<firstName>Susan</firstName>
<lastName>Jones</lastName>
</employee>
Relaterade API-element
+= concatenation assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tilldelar expression1
värdet på expression1 + expression2
. Till exempel får följande två programsatser samma resultat:
x += y; x = x + y;Alla regler för sammanfogningsoperatorn (
+
) gäller operatorn sammanfogningstilldelning (+=
). Tänk på att det är mindre effektivt att använda sammanfogningstilldelning för egenskapen text
i ett TextField
(t.ex. someTextField.text += moreText
) än att använda TextField.appendText()
, särskilt med ett TextField
med mycket innehåll.
Operanderexpression1:String —
En sträng.
| |
expression2:String —
En sträng.
|
Number —
Resultatet av sammanslagningen.
|
Exempel
Så här använder du exemplet
I det här exemplet används operatorn
+=
med ett stränguttryck:
var x1:String = "My name is "; x1 += "Gilbert"; trace(x1); // My name is Gilbert
Relaterade API-element
+= concatenation assignment (XMLList) | Operatorn |
expression1 += expression2 |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tilldelar expression1
, som är ett XMLList-objekt, värdet på expression1 + expression2
. Till exempel får följande två programsatser samma resultat:
x += y; x = x + y;Alla regler för operatorn för XMLList-sammanfogning (
+
) gäller operatorn för XMLList-sammanfogningstilldelning (+=
).
Operanderexpression1:XMLList —
Det XMLList-objekt till vilket du adderar ett nytt värde.
| |
expression2:* —
Ett XML- eller XMLList-värde.
|
Exempel
Så här använder du exemplet
Följande exempel visar hur du använder operatorn för XMLList-sammanfogningstilldelning (
+=
):
var x1:XML = <location>Athens</location>; var x2:XML = <location>Paris</location>; myXMLList = x1 + x2; var x3:XML = <location>Springfield</location>; myXMLList += x3; trace(myXMLList.toXMLString());
Programsatsen trace
ger följande utdata:
<location>Athens</location>
<location>Paris</location>
<location>Springfield</location>
Relaterade API-element
?: conditional | Operatorn |
expression1 ? expression2 : expression3 |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Utvärderar expression1
, och om värdet på expression1
är true
är resultatet värdet för expression2
; i annat fall är resultatet värdet för expression3
.
expression1:Boolean —
Ett uttryck som utvärderas till ett booleskt värde, vanligtvis ett jämförelseuttryck, till exempel x < 5 .
| |
expression2:* —
Ett värde av valfri typ.
| |
expression3:* —
Ett värde av valfri typ.
|
* —
Värdet på expression2 eller expression3 .
|
Exempel
Så här använder du exemplet
Följande programsats tilldelar värdet för variabeln
x
till variabeln z
eftersom det första uttrycket utvärderas som true
:
var x:Number = 5; var y:Number = 10; var z = (x < 6) ? x: y; trace(z); // returns 5
var timecode:String = (new Date().getHours() < 11) ? "AM" : "PM"; trace(timecode);
if (new Date().getHours() < 11) { var timecode:String = "AM"; } else { var timecode:String = "PM"; } trace(timecode);
-- decrement | Operatorn |
--expression expression-- |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Subtraherar 1 från operanden. Operanden kan vara en variabel, ett element i en array eller en objektegenskap. Operatorformen för förhandsminskning (--expression
) subtraherar 1 från expression
och returnerar resultatet. Operatorformen för efterhandsminskning (expression--
) subtraherar 1 från expression
och returnerar det ursprungliga värdet för expression
(värdet före subtraktionen).
expression:Number —
Ett tal eller en variabel som utvärderas till ett tal.
|
Number —
Resultatet av det minskade värdet.
|
Exempel
Så här använder du exemplet
Operatorformen för förhandsminskning minskar
x
till 2 (x
- 1 = 2
) och returnerar resultatet i som y
:
var x:Number = 3; var y:Number = --x; // y is equal to 2
x
till 2 (x
- 1 = 2
) och returnerar det ursprungliga värdet för x
som resultatet y
:
var x:Number = 3; var y:Number = x--; // y is equal to 3
i
med 1:
for (var i = 10; i > 0; i--) { trace(i); }
delete | Operatorn |
delete reference |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Förstör den objektegenskap som anges av reference
. Resultatet är true
om egenskapen inte finns när åtgärden har slutförts, i annat fall är det false
. Operatorn delete
returnerar true
om den anropas för en egenskap som inte finns eller en dynamisk egenskap som inte är definierad i en klass.
Operatorn delete
kan misslyckas och returnera false
om parametern reference
inte kan tas bort. Du kan inte ta bort fasta egenskaper eller variabler som deklarerats med var
-programsatsen. En fast egenskap är en variabel eller metod som definierats i en klassdefinition.
Operatorn delete
kan inte användas för att radera en klassegenskap, såvida det inte är en dynamisk klass som lagts till under körningen. Egenskaper för slutna klasser kan inte tas bort med delete
. Ställ i stället in egenskapen på null
.
Obs! Du kan inte ta bort ett objekt, men du kan göra det åtkomligt för skräpinsamlingen genom att ta bort alla referenser till objektet. Den vanligaste referensen till ett objekt är en variabel som pekar på den. Du kan ta bort sådana referenser genom att ställa in variabeln på null
. Skräpsamlaren tar bort alla objekt som inte har referenser.
reference:* —
Namnet på egenskapen som ska tas bort.
|
Boolean —
Värdet är true om borttagningen lyckades och false om den misslyckades.
|
Exempel
Så här använder du exemplet
I följande exempel tas en objektegenskap bort:
// create the new object "account" var account:Object = new Object(); // assign property name to the account account.name = "Jon"; // delete the property delete account.name; trace(account.name); // undefined // delete a nonexistent property var fooDeleted:Boolean = delete account.foo; trace(fooDeleted); // true
I följande exempel tas värdet för ett array-element bort, men värdet för length
-egenskapen ändras inte:
var my_array:Array = new Array(); my_array[0] = "abc"; // my_array.length == 1 my_array[1] = "def"; // my_array.length == 2 my_array[2] = "ghi"; // my_array.length == 3 // my_array[2] is deleted, but Array.length is not changed delete my_array[2]; trace(my_array.length); // 3 trace(my_array); // abc,def,
I följande exempel visas hur det returnerade booleska värdet från delete
kan användas som villkor för framtida kodkörning. Tänk på att om ett objekt redan har tagits bort returneras false
om du anropar delete
på objektet igen.
var my_array:Array = [ "abc", "def", "ghi" ]; var deleteWasSuccessful:Boolean deleteWasSuccessful = delete my_array[0]; if(deleteWasSuccessful) delete my_array[1]; deleteWasSuccessful = delete my_array[0]; if(deleteWasSuccessful) delete my_array[2]; trace(my_array) // outputs: undefined,undefined,ghi
Relaterade API-element
delete (XML) | Operatorn |
delete reference |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tar bort de XML-element eller -attribut som anges av reference
.
reference:XMLList —
Ett XMLList-objekt som anger de XML-element eller -attribut som ska tas bort.
|
Boolean —
Returnerar alltid värdet true . Resultatet är alltid true , eftersom XMLList-operanden alltid refererar till ett giltigt (men eventuellt tomt) XMLList-objekt.
|
Exempel
Så här använder du exemplet
I följande exempel visas hur ett attribut tas bort, sedan hur ett enskilt element tas bort och sedan hur flera element tas bort:
var x1:XML = <x1> <a id = "52">AYY</a> <a>AYY 2 </a> <b>BEE</b> <c>CEE</c> </x1>; trace(x1.toXMLString()); trace("___________"); delete x1.a.@id; trace(x1.toXMLString()); trace("___________"); delete x1.b; trace(x1.toXMLString()); trace("___________"); delete x1.a; trace(x1.toXMLString());
Följande utdata skapas:
<x1>
<a id="52">AYY</a>
<a>AYY 2</a>
<b>BEE</b>
<c>CEE</c>
</x1>
___________
<x1>
<a>AYY</a>
<a>AYY 2</a>
<b>BEE</b>
<c>CEE</c>
</x1>
___________
<x1>
<a>AYY</a>
<a>AYY 2</a>
<c>CEE</c>
</x1>
___________
<x1>
<c>CEE</c>
</x1>
I följande exempel visas hur allt innehåll i ett element tas bort, inklusive attribut och underordnade element, utan att själva elementet tas bort:
var xml:XML = <order> <item id="121">hamburger</item> <item id="122">fries</item> <item id="123">chocolate shake</item> </order>; delete xml.item[1].*; delete xml.item[1].@*; trace(xml);
Utdata för detta exempel är följande:
<order>
<tem id="121">hamburger</item>
<item/>
<item id="123">chocolate shake</item>
</order>
.. descendant accessor | Operatorn |
myXML..childElement1..@attributeName |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Navigerar till underordnade element i ett XML- eller XMLList-objekt eller hittar (i kombination med operatorn @) matchande attribut för underordnade. De matchande elementen eller attributen måste inte vara direkt underordnade XML- eller XMLList-objektet – de kan befinna sig längre ned i trädet (exempelvis indirekt underordnade). Resultatet är ett XMLList-objekt, eftersom fler än ett underordnat element eller attribut kan matcha.
Ordningen på noderna i det XMLList-objekt som returneras är resultatet av en förflyttning av typen djupet först. Fundera på följande:
var myXML:XML = <a> <b>one <c> <b>two</b> </c> </b> <b>three</b> </a>; trace(myXML..b[0].toXMLString()); trace("______________"); trace(myXML..b[1].toXMLString()); trace("______________"); trace(myXML..b[2].toXMLString());
Detta resulterar i följande utdata:
<b>
one
<c>
<b>two</b>
</c>
</b>
______________
<b>two</b>
______________
<b>three</b>
Om du vill returnera underordnade objekt med namn som matchar reserverade ord i ActionScript använder du metoden XML.descendants()
i stället för den underordnade operatorn (..), som i följande exempel:
var xml:XML = <enrollees> <student id="239"> <class name="Algebra" /> <class name="Spanish 2"/> </student> <student id="206"> <class name="Trigonometry" /> <class name="Spanish 2" /> </student> </enrollees>; trace(xml.descendants("class"));
myXML:Object —
XML- eller XMLList-objektet.
| |
childElement1_or_attributeName —
Namnet på en XML-egenskap eller namnet på ett attribut.
|
Exempel
Så här använder du exemplet
Följande exempel visar hur man använder operatorn för åtkomst till underordnade (..) för att returnera underordnade element för ett XML-objekt och för att returnera ett elements attribut:
var myXML:XML = <employees> <employee id = "42"> <firstName>Billy</firstName> <lastName>Einstein</lastName> </employee> <employee id = "43"> <firstName>Sally</firstName> <lastName>Shostakovich</lastName> </employee> </employees> trace(myXML..firstName); // <firstName>Billy</firstName> // <firstName>Sally</firstName> trace(myXML..@id); //4243
Relaterade API-element
/ division | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Dividerar expression1
med expression2
. Resultatet av divisionsåtgärden är ett flyttal med dubbel precision.
expression:Number —
Ett tal eller en variabel som utvärderas till ett tal.
|
Number —
Flyttalsresultatet för åtgärden.
|
Exempel
Så här använder du exemplet
Exemplet nedan visar att resultatet av division med 0 blir olika beroende på om dividenden är positiv, negativ eller 0.
trace(3/0); // Infinity trace(-3/0); // -Infinity trace(0/0); // NaN
Relaterade API-element
/= division assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tilldelar expression1
värdet på expression1 / expression2
. Följande två programsatser är till exempel likvärdiga:
x /= y; x = x / y;Operander
expression1:Number —
Ett tal eller en variabel som utvärderas till ett tal.
| |
expression2:Number —
Ett tal eller en variabel som utvärderas till ett tal.
|
Number —
Ett tal.
|
Exempel
Så här använder du exemplet
Följande kod visar divisionstilldelningsoperatorn (
/=
) använd med variabler och tal:
var a:Number = 10; var b:Number = 2; a /= b; trace(a); // 5
Relaterade API-element
. dot | Operatorn |
object.property_or_method |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Hämtar klassvariabler och -metoder, hämtar och lägger in objektegenskaper och avgränsar importerade paket eller klasser.
Operanderobject:Object —
En instans av en klass. Objektet kan vara en instans av alla inbyggda ActionScript-klasser eller en anpassad klass du definierar. Den här operand finns alltid till vänster om operatorn punkt (.).
| |
property_or_method:* —
Namnet på en egenskap eller metod som är kopplad till ett objekt. Alla giltiga metoder och egenskaper för de inbyggda klasserna listas i de sammanfattande tabellerna för metoder och egenskaper för den klassen. Den här operand finns alltid till höger om operatorn punkt (.).
|
* —
Variabeln, metoden eller egenskapen som namnges till vänster om punkten.
|
Exempel
Så här använder du exemplet
Nedanstående exempel använder punktoperatorn som avgränsare vid import av klassen Timer.
import flash.utils.Timer;
var obj:Object = new Object(); obj.propertyA = "hello"; trace(obj.propertyA); // hello
Relaterade API-element
. dot (XML) | Operatorn |
myXML.childElement myXML.@attributeName |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Navigerar till underordnade element för ett XML- eller XMLList-objekt eller (i kombination med operatorn @) returnerar attribut för ett XML- eller XMLList-objekt. Det returnerade objektet är ett XMLList-objekt, eftersom fler än ett underordnat element eller attribut kan matcha.
Om du vill returnera element med namn som matchar reserverade ord i ActionScript använder du metoden XML.elements()
eller metoden XML.descendants()
i stället för XML-punktoperatorn (.), som i följande exempel:
var xml:XML = <student id="206"> <class name="Trigonometry" /> <class name="Spanish 2" /> </student>; trace(xml.elements("class")); trace(xml.descendants("class"));
myXML:Object —
XML- eller XMLList-objektet.
| |
childElement:* —
XML-egenskapens namn.
| |
attributeName:* —
Namnet på ett attribut.
|
XMLList —
Angiven XMLList.
|
Exempel
Så här använder du exemplet
Följande exempel visar hur man använder punktoperatorn (.) för att returnera till ett XML-objekts underordnade element och för att returnera ett elements attribut:
var myXML:XML = <employee id = "42"> <firstName>Billy</firstName> <lastName>Einstein</lastName> </employee>; trace(myXML.firstName); // Billy trace(myXML.@id); // 42
Relaterade API-element
== equality | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Testar om två uttryck är lika. Resultatet blir true
om uttrycken är lika.
Om datatyperna för de två operanderna matchar, beror definitionen av likhet på operandernas datatyp:
- Värden av typen int, uint och Boolean anses vara lika om de har samma värde.
- Tal med matchande värden anses vara lika, såvida de inte båda är
NaN
. - Om värdet för båda operanderna är
null
ellerundefined
anses de vara lika. - Stränguttryck är lika om de har samma antal tecken och tecknen är identiska.
- För XML-objekt:
- Om en operand är en text- eller attributnod, och den andra har enkelt innehåll, konverteras båda operanderna till strängar med metoden
toString()
och betraktas som lika om de resulterande strängarna matchar. - Annars betraktas endast objekt som lika om det kvalificerade namnet, attribut och underordnade egenskaper för båda objekten matchar.
- Om en operand är en text- eller attributnod, och den andra har enkelt innehåll, konverteras båda operanderna till strängar med metoden
- XMLList-objekt betraktas som lika om de har samma antal egenskaper, och egenskapernas ordning och värden stämmer överens.
- För Namespace-objekt betraktas värdena som lika om egenskapen
uri
är samma för båda objekten. - För QName-objekt betraktas värdena som lika om egenskapen
uri
är samma för båda objekten och egenskapenlocalName
är samma för båda objekten. - Variabler som representerar objekt, arrayer och funktioner jämförs utifrån referens. Två sådana variabler är lika om de refererar till samma objekt, array eller funktion. Två olika arrayer anses aldrig vara lika, även om de innehåller samma antal element.
false
utom i följande fall:
- Operandernas värden är
undefined
ochnull
, och då är resultatettrue
. - Automatisk datatypkonvertering konverterar datatyper av värdena String, Boolean, int, uint och Number till kompatibla typer och de konverterade värdena är lika, vilket innebär att operanderna anses vara lika.
- En operand är av typen XML med enkelt innehåll (
hasSimpleContent() == true
), och när båda operanderna har konverterats till strängar med metodentoString()
stämmer de resulterande strängarna överens. - En operand är av typen XMLList, och något av följande villkor är sant:
- Egenskapen
length
för XMLList-objektet är 0, och det andra objektet ärundefined
. - Egenskapen
length
för XMLList-objektet är 1, och ett element i XMLList-objektet matchar den andra operanden.
- Egenskapen
expression1:Object —
Ett tal, en sträng, ett booleskt värde, en variabel, ett objekt, en array eller ett uttryck.
| |
expression2:Object —
Ett tal, en sträng, ett booleskt värde, en variabel, ett objekt, en array eller ett uttryck.
|
Boolean —
Värdet är true om uttrycken är lika, i annat fall är det false .
|
Exempel
Så här använder du exemplet
Följande exempel visar hur likhetsoperatorn (
==
) används med en if
-programsats:
var a:String = "David" var b:String = "David"; if (a == b) { trace("David is David"); }
var a:Number = 5; var b:String = "5"; trace(a == b); // true
true
konverteras till 1 och false
konverteras till 0:
var c:Number = 1; var d:Boolean = true; trace(c == d); // true var e:Number = 0; var f:Boolean = false; trace(e == f); // true
false
:
var g:String = "true"; var h:Boolean = true; trace(g == h); // false
false
för de här två arrayerna. Även om arrayerna verkar vara lika måste både firstArray
och secondArray
referera till samma array för att kunna jämföras utifrån referens. I det andra exemplet skapas variabeln thirdArray
, som pekar på samma array som firstArray
. Likhetsoperatorn returnerar true för de två arrayerna, eftersom de två variablerna refererar till samma array.
var firstArray:Array = new Array("one", "two", "three"); var secondArray:Array = new Array("one", "two", "three"); trace(firstArray == secondArray); // false /* Arrays are only considered equal if the variables refer to the same array. */ var thirdArray:Array = firstArray; trace(firstArray == thirdArray); // true
Relaterade API-element
> greater than | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Jämför två uttryck och avgör om expression1
är större än expression2
. I så fall är resultatet true
. Om expression1
är mindre än eller lika med expression2
är resultatet false
.
Om båda operanderna är av typen String jämförs de i alfabetisk ordning, med versaler före gemener. I annat fall konverteras operander först till tal och jämförs sedan.
Operanderexpression1:Object —
En sträng, ett heltal eller ett flyttal.
| |
expression2:Object —
En sträng, ett heltal eller ett flyttal.
|
Boolean —
Värdet är true om expression1 är större än expression2 ; i annat fall är det false .
|
Exempel
Så här använder du exemplet
Exemplet nedan visar att strängar jämförs alfabetiskt, med versala bokstäver före gemena bokstäver:
var a:String = "first"; var b:String = "First"; trace(a > b); // true
var c:Number = 5; var d:String = "4"; trace(c > d); // true var e: Number = 2; var f:Boolean = true; trace(e > f); // true
>= greater than or equal to | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Jämför två uttryck och avgör om expression1
är större än eller lika med expression2
(true
) eller om expression1
är mindre än expression2
(false
).
expression1:Object —
En sträng, ett heltal eller ett flyttal.
| |
expression2:Object —
En sträng, ett heltal eller ett flyttal.
|
Boolean —
Värdet är true om expression1 är större än eller lika med expression2 ; i annat fall är det false .
|
Exempel
Så här använder du exemplet
I följande exempel används operatorn större än eller lika med (>=) för att avgöra om timmen är större än eller lika med 12:
if (new Date().getHours() >= 12) { trace("good afternoon"); } else { trace("good morning"); }
Relaterade API-element
in | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Utvärderar om en egenskap utgör en del av ett specifikt objekt. Om du vill använda in
-operatorn anger du ett egenskapsnamn som första operand och ett objekt som andra operand. Om det angivna objektet innehåller egenskapen blir resultatet true
. I annat fall blir resultatet false
.
Om det angivna objektet är ett Array-objekt kan du använda in
-operatorn för att kontrollera om ett visst indexnummer är giltigt. Om du skickar ett heltal som första operand blir resultatet true
om indexet ligger inom det giltiga intervallet för indexnummer. I annat fall blir resultatet false
.
Boolean —
Värdet är true om expression1 är en egenskap för det objekt som representeras av expression2 , och i annat fall är det false .
|
Exempel
Så här använder du exemplet
I följande exempel används
in
-operatorn för att visa att PI
är en egenskap i Math-objektet, men att myProperty
inte är det.
trace("PI" in Math); // true trace("myProperty" in Math); // false
I följande exempel används in
-operatorn för att visa att talen 0, 1 och 2 är giltiga indextal i myArray
-objektet, men att talet 3 däremot inte är det.
public var myArray:Array = ["zero", "one", "two"]; trace(0 in myArray); // true trace(1 in myArray); // true trace(2 in myArray); // true trace(3 in myArray); // false
Relaterade API-element
++ increment | Operatorn |
++expression expression++ |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Lägger till 1 till ett uttryck. Uttrycket kan vara en variabel, ett element i en array eller en objektegenskap. Operatorformen för förhandsökning (++expression
) lägger till 1 i expression
och returnerar resultatet. Operatorformen för efterhandsökning (expression++
) lägger till 1 i expression
och returnerar det ursprungliga värdet för expression
(värdet före additionen).
expression:Number —
Ett tal eller en variabel som utvärderas till ett tal.
|
Number —
Resultatet av ökningen.
|
Exempel
Så här använder du exemplet
I följande exempel används ++ som en förhandsökningsoperator i en
while
-slinga för att visa att värdet som läggs till i arrayen är det värde som har ökats:
var preInc:Array = new Array(); var i:int = 0; while (i < 10) { preInc.push(++i); } trace(preInc); // 1,2,3,4,5,6,7,8,9,10
while
-slinga för att visa att värdet som läggs till i arrayen är det ursprungliga värdet:
var postInc:Array = new Array(); var i:int = 0; while (i < 10) { postInc.push(i++); } trace(postInc); // 0,1,2,3,4,5,6,7,8,9
while
-slinga körs fem gånger:
var i:int = 0; while (i++ < 5) { trace("this is execution " + i); } /* output: this is execution 1 this is execution 2 this is execution 3 this is execution 4 this is execution 5 */
!= inequality | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Testar den exakta motsatsen till likhetsoperatorn (==
). Om expression1
är lika med expression2
är resultatet false
. Precis som med likhetsoperatorn (==
) beror definitionen för likhet på de datatyper som jämförs.
Om datatyperna för de två operanderna matchar, beror definitionen av likhet på operandernas datatyp:
- Värden av typen int, uint och Boolean anses vara lika om de har samma värde.
- Tal med matchande värden anses vara lika, såvida de inte båda är
NaN
. - Om värdet för båda operanderna är
null
ellerundefined
anses de vara lika. - Stränguttryck är lika om de har samma antal tecken och tecknen är identiska.
- För XML-objekt:
- Om en operand är en text- eller attributnod, och den andra har enkelt innehåll, konverteras båda operanderna till strängar med metoden
toString()
och betraktas som lika om de resulterande strängarna matchar. - Annars betraktas endast objekt som lika om det kvalificerade namnet, attribut och underordnade egenskaper för båda objekten matchar.
- Om en operand är en text- eller attributnod, och den andra har enkelt innehåll, konverteras båda operanderna till strängar med metoden
- XMLList-objekt betraktas som lika om de har samma antal egenskaper, och egenskapernas ordning och värden stämmer överens.
- För Namespace-objekt betraktas värdena som lika om egenskapen
uri
är samma för båda objekten. - För QName-objekt betraktas värdena som lika om egenskapen
uri
är samma för båda objekten och egenskapenlocalName
är samma för båda objekten. - Variabler som representerar objekt, arrayer och funktioner jämförs utifrån referens. Två sådana variabler är lika om de refererar till samma objekt, array eller funktion. Två olika arrayer anses aldrig vara lika, även om de innehåller samma antal element.
!=
) värdet true
, utom i följande fall:
- Operandernas värden är
undefined
ochnull
, och då är resultatettrue
. - Automatisk datatypkonvertering konverterar datatyper av värdena String, Boolean, int, uint och Number till kompatibla typer och de konverterade värdena är lika, vilket innebär att operanderna anses vara lika.
- En operand är av typen XML med enkelt innehåll (
hasSimpleContent() == true
), och när båda operanderna har konverterats till strängar med metodentoString()
stämmer de resulterande strängarna överens. - En operand är av typen XMLList, och något av följande villkor är sant:
- Egenskapen
length
för XMLList-objektet är 0, och det andra objektet ärundefined
. - Egenskapen
length
för XMLList-objektet är 1, och ett element i XMLList-objektet matchar den andra operanden.
- Egenskapen
expression1:Object —
Ett tal, en sträng, ett booleskt värde, en variabel, ett objekt, en array eller en funktion.
| |
expression2:Object —
Ett tal, en sträng, ett booleskt värde, en variabel, ett objekt, en array eller en funktion.
|
Boolean —
Värdet är true om uttrycken inte är lika, i annat fall är det false .
|
Exempel
Så här använder du exemplet
I följande exempel visas resultatet av olikhetsoperatorn (
!=
):
trace(5 != 8); // true trace(5 != 5); // false
!=
) i en if
-programsats:
var a:String = "David"; var b:String = "Fool"; if (a != b) { trace("David is not a fool"); }
var a:Function = function() { trace("foo"); }; var b:Function = function() { trace("foo"); }; a(); // foo b(); // foo trace(a != b); // true a = b; a(); // foo b(); // foo trace(a != b); // false
var a:Array = [ 1, 2, 3 ]; var b:Array = [ 1, 2, 3 ]; trace(a); // 1,2,3 trace(b); // 1,2,3 trace(a != b); // true a = b; trace(a); // 1,2,3 trace(b); // 1,2,3 trace(a != b); // false
Relaterade API-element
instanceof | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Utvärderar om ett uttrycks prototypkedja innefattar prototypobjektet för function
. Operatorn instanceof
inkluderas för bakåtkompatibilitet med ECMAScript version 3, och den kan vara användbar för avancerade programmerare som väljer att använda prototypbaserat arv med konstruktorfunktioner i stället för klasser.
Använd is
-operatorn för att kontrollera om ett objekt tillhör en viss datatyp.
När instanceof
-operatorn används med klasser liknar den is
-operatorn, eftersom en klass prototypkedja består av alla dess superklasser. Gränssnitt inkluderas däremot inte i prototypkedjor, så instanceof
-operatorn ger alltid resultatet false
när den används med gränssnitt, medan is
-operatorn ger resultatet true
om ett objekt tillhör en klass som implementerar det angivna gränssnittet.
Obs! ActionScript-operatorn is
motsvarar Java-operatorn instanceof
.
expression:Object —
Det objekt som innehåller den prototypkedja som ska utvärderas.
| |
function:Object —
Ett funktionsobjekt (eller klass).
|
Boolean —
Returnerar true om prototypkedjan för expression innehåller prototypobjektet för function , och i annat fall false .
|
Exempel
Så här använder du exemplet
I följande exempel skapas en instans av klassen Sprite med namnet
mySprite
och instanceof
-operatorn används för att testa huruvida prototypkedjan för mySprite
inkluderar prototypobjekten för klasserna Sprite och DisplayObject. Resultatet är true
med Sprite-klassen och DisplayObject-klassen, eftersom prototypobjekten för Sprite och DisplayObject finns i prototypkedjan för mySprite
.
var mySprite:Sprite = new Sprite(); trace(mySprite instanceof Sprite); // true trace(mySprite instanceof DisplayObject); // true
instanceof
-operatorn inte fungerar med gränssnitt. is
-operatorn resulterar i true
eftersom DisplayObject-klassen, som är en superklass till Sprite-klassen, implementerar IBitmapDrawable-gränssnittet.
var mySprite:Sprite = new Sprite(); trace(mySprite instanceof IBitmapDrawable); // false trace(mySprite is IBitmapDrawable); // true
Relaterade API-element
is | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Utvärderar om ett objekt är kompatibelt med en viss datatyp, en viss klass eller ett visst gränssnitt. Använd is
-operatorn i stället för instanceof
-operatorn för typjämförelser. Du kan också använda is
-operatorn för att kontrollera om ett objekt implementerar ett gränssnitt.
Boolean —
Värdet är true om expression1 är kompatibelt med datatypen, klassen eller gränssnittet som anges i expression2 , i annat fall är det false .
|
Exempel
Så här använder du exemplet
I följande exempel skapas en instans av klassen Sprite som heter
mySprite
och operatorn is
används för att testa om mySprite
är en instans av klasserna Sprite och DisplayObject, och huruvida den implementerar gränssnittet IEventDispatcher.
import flash.display.*; import flash.events.IEventDispatcher; var mySprite:Sprite = new Sprite(); trace(mySprite is Sprite); // true trace(mySprite is DisplayObject); // true trace(mySprite is IEventDispatcher); // true
Relaterade API-element
< less than | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Jämför två uttryck och avgör om expression1
är mindre än expression2
. I så fall är resultatet true
. Om expression1
är större än eller lika med expression2
är resultatet false
.
Om båda operanderna är av typen String jämförs de i alfabetisk ordning, med versaler före gemener. I annat fall konverteras operander först till tal och jämförs sedan.
Operanderexpression1:Object —
En sträng, ett heltal eller ett flyttal.
| |
expression2:Object —
En sträng, ett heltal eller ett flyttal.
|
Boolean —
Värdet är true om expression1 är mindre än expression2 ; i annat fall false .
|
Exempel
Så här använder du exemplet
I följande exempel visas resultatet för
true
och false
för både numeriska jämförelser och strängjämförelser:
trace(5 < 10); // true trace(2 < 2); // false trace(10 < 3); // false trace("Allen" < "Jack"); // true trace("Jack" < "Allen"); // false trace("11" < "3"); // true trace("11" < 3); // false (numeric comparison) trace("C" < "abc"); // true trace("A" < "a"); // true
<= less than or equal to | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Jämför två uttryck och avgör om expression1
är mindre än eller lika med expression2
. I så fall är resultatet true
. Om expression1
är större än expression2
är resultatet false
.
Om båda operanderna är av typen String jämförs de i alfabetisk ordning, med versaler före gemener. I annat fall konverteras operander först till tal och jämförs sedan.
Operanderexpression1:Object —
En sträng, ett heltal eller ett flyttal.
| |
expression2:Object —
En sträng, ett heltal eller ett flyttal.
|
Boolean —
Värdet är true om expression1 är mindre än eller lika med expression2 ; i annat fall false .
|
Exempel
Så här använder du exemplet
I följande exempel visas resultatet för
true
och false
för både numeriska jämförelser och strängjämförelser:
trace(5 <= 10); // true trace(2 <= 2); // true trace(10 <= 3); // false trace("Allen" <= "Jack"); // true trace("Jack" <= "Allen"); // false trace("11" <= "3"); // true trace("11" <= 3); // false (numeric comparison) trace("C" <= "abc"); // true trace("A" <= "a"); // true
// line comment delimiter | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Anger början på en skriptkommentar. Tecken mellan kommentaravgränsaren (//
) och radslutstecknet tolkas som en kommentar och ignoreras. Använd den här avgränsaren för enradiga kommentarer. För kommentarer som löper över flera på varandra följande rader använder du avgränsarna /*
och */
.
comment:* —
Alla tecken.
|
Exempel
Så här använder du exemplet
Följande exempel visar en enkelradskommentar:
// Any text following a line comment delimiter is ignored during compilation
Relaterade API-element
&& logical AND | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Returnerar expression1
om det är false
eller kan konverteras till false
; i annat fall returneras expression2
. Exempel på värden som kan konverteras till false
är 0, NaN
, null
och undefined
. Om du använder ett funktionsanrop som expression2
anropas funktionen inte omexpression1
utvärderas till false
.
Om båda operanderna är av typen Boolean är resultatet true
endast om båda operanderna är true
, som i följande tabell:
Uttryck | Utvärderar |
---|---|
|
|
|
|
|
|
|
|
expression1:* —
Ett värde eller ett uttryck av valfri typ.
| |
expression2:* —
Ett värde av uttryck av valfri typ.
|
* —
Ett booleskt värde om bägge operanderna är av typ Boolean. Annars är resultatet värdet på ettdera uttrycket.
|
Exempel
Så här använder du exemplet
I följande exempel används den logiska operatorn AND (
&&
) för att utföra ett test som avgör om en spelare har vunnit spelet. Variablerna turns
och score
uppdateras när en spelare spelar en omgång eller får poäng under spelets gång. Skriptet visar "You Win the Game!" när spelarens poäng når 75 eller högre på 3 omgångar eller färre.
var turns:Number = 2; var score:Number = 77; if ((turns <= 3) && (score >= 75)) { trace("You Win the Game!"); } else { trace("Try Again!"); }
Relaterade API-element
&&= logical AND assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tilldelar expression1
värdet på expression1 && expression2
. Följande två programsatser är till exempel likvärdiga:
x &&= y; x = x && y;Operander
expression1:* —
Ett värde av valfri typ.
| |
expression2:* —
Ett värde av valfri typ.
|
* —
Ett booleskt värde om båda operanderna tillhör datatypen Boolean. I annat fall blir resultatet värdet på ett av de två uttrycken.
|
Exempel
Så här använder du exemplet
I följande exempel ändras variabeln
myVar
till en XML-tagg, om inte myVar
är null. I exemplet ändras variabeln myVar
förutsatt att den inte utvärderas till false
. Tekniken utnyttjar det faktum att den logiska AND-operatorn (&&
) returnerar värdet för expression1
om expression1
utvärderas till false
, och i annat fall returneras värdet expression2
. Om myVar
redan innehåller ett värde som utvärderas till true
ändras myVar
så att den liknar en XML-tagg. Om myVar
emellertid innehåller ett värde som utvärderas till false
, till exempel värdena null
, ""
(tom sträng) eller undefined
, ändras myVar
inte.
var myVar:String = 'tag'; myVar &&= "<" + myVar + "/>"; trace (myVar); // output: <tag/>
if
-sats, vilket visas i följande exempel:
var myVar:String = 'tag'; if (myVar != '') { myVar = "<" + myVar + "/>"; } trace (myVar); // output: <tag/>
if
-sats är att koden blir lättare att läsa. Fördelen med att använda operatorn för logisk AND-tilldelning (&&=
) är att du inte behöver ange exakt standardvärde för en given datatyp.
Relaterade API-element
! logical NOT | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Inverterar det booleska värdet för en variabel eller ett uttryck. Om expression
är en variabel med det absoluta eller konverterade värdet true
är värdet på !expression
false
. Om uttrycket x && y
utvärderas till false
utvärderas uttrycket !(x && y)
till true
.
Följande uttryck visar resultatet med operatorn logiskt NOT (!):
!true
returnerarfalse
.!false
returnerartrue
.
expression:Boolean —
Ett uttryck eller en variabel som utvärderas till ett booleskt värde.
|
Boolean —
Det booleska resultatet av den logiska åtgärden.
|
Exempel
Så här använder du exemplet
I följande exempel är variabeln
happy
inställd på false
. Villkoret if
utvärderar villkoret !happy
, och om villkoret är true
visar trace()
-satsen en sträng.
var happy:Boolean = false; if (!happy) { trace("don't worry, be happy"); // don't worry, be happy }
trace
-satsen körs eftersom !false
är lika med true
.
Relaterade API-element
|| logical OR | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Returnerar expression1
om det är true
eller kan konverteras till true
, och i annat fall returneras expression2
. Om du använder ett funktionsanrop som expression2
anropas inte funktionen omexpression1
utvärderas till true
.
Om båda operanderna är av typen Boolean är resultatet true
om något eller båda uttrycken är true
. Resultatet är false
endast om båda uttrycken är false
, som i följande tabell:
Uttryck | Utvärderar |
---|---|
|
|
|
|
|
|
|
|
expression1:* —
Ett värde av valfri typ.
| |
expression2:* —
Ett värde av valfri typ.
|
* —
Ett booleskt värde om båda operanderna tillhör datatypen Boolean. I annat fall blir resultatet värdet på ett av de två uttrycken.
|
Exempel
Så här använder du exemplet
I följande exempel används operatorn logiskt OR (
||
) i en if
-programsats. Det andra uttrycket utvärderas till true,
och det slutgiltiga resultatet är true
:
var a:Number = 10; var b:Number = 250; var start:Boolean = false; if ((a > 25) || (b > 200) || (start)) { trace("the logical OR test passed"); // the logical OR test passed }
if
-programsatsen är true (b > 200
).
I följande exempel beskrivs hur ett funktionsanrop som används som andra operand kan ge oväntade resultat. Om uttrycket till vänster om operatorn utvärderas till true
returneras det resultatet utan att uttrycket till höger utvärderas (funktionen fx2()
anropas inte).
function fx1():Boolean { trace("fx1 called"); return true; } function fx2():Boolean { trace("fx2 called"); return true; } if (fx1() || fx2()) { trace("IF statement entered"); }
Relaterade API-element
||= logical OR assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tilldelar expression1
värdet på expression1 || expression2
. Följande två programsatser är till exempel likvärdiga:
x ||= y; x = x || y;Operander
expression1:* —
Ett värde av valfri typ.
| |
expression2:* —
Ett värde av valfri typ.
|
* —
Ett booleskt värde om båda operanderna tillhör datatypen Boolean. I annat fall blir resultatet värdet på ett av de två uttrycken.
|
Exempel
Så här använder du exemplet
I följande exempel tilldelas ett standardvärde till en tidigare deklarerad variabel med namnet
myVar
. Tekniken utnyttjar det faktum att den logiska OR-operatorn (||
) returnerar värdet för expression1
om expression1
utvärderas till true
, och i annat fall värdet expression2
. Om myVar
redan innehåller ett värde som utvärderas till true
ändras myVar
inte. Om myVar
däremot innehåller ett värde som utvärderas till false
, till exempel värdena null
, ""
(tom sträng) eller undefined
, tilldelas myVar
värdet "default"
.
myVar ||= "default";
Relaterade API-element
% modulo | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Beräknar återstoden av expression1
delat med expression2
. Om någon av operanderna är icke-numerisk försöker modulo-operatorn (%
) att konvertera den till ett tal.
Tecknet för modulo-resultatet matchar tecknet för täljaren (det första talet). Till exempel utvärderas både -4 % 3
och -4 % -3
till -1
.
expression1:Number —
Ett tal eller uttryck som utvärderas till ett tal. En sträng som bara innehåller numeriska tecken utvärderas till ett tal.
| |
expression2:Number —
Ett tal eller uttryck som utvärderas till ett tal. En sträng som bara innehåller numeriska tecken utvärderas till ett tal.
|
Number —
Resultatet av den aritmetiska åtgärden.
|
Exempel
Så här använder du exemplet
I följande numeriska exempel används operatorn modulo (
%
):
trace(12 % 5); // 2 trace(4.3 % 2.1); // 0.0999999999999996 trace(4 % 4); // 0
%
) bara returnerar återstoden. Den andra trace returnerar 0,0999999999999996 i stället för det förväntade 0,1, på grund av att precisionen för flyttal är begränsad vid binär beräkning.
Relaterade API-element
%= modulo assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tilldelar expression1
värdet på expression1 % expression2
. Följande två programsatser är likvärdiga:
x %= y; x = x % y;Operander
expression1:Number —
Ett tal eller uttryck som utvärderas till ett tal.
| |
expression2:Number —
Ett tal eller uttryck som utvärderas till ett tal.
|
Number —
Resultatet av den aritmetiska åtgärden.
|
Exempel
Så här använder du exemplet
I följande exempel tilldelas variabeln
a
värdet 4:
var a:Number = 14; var b:Number = 5; a %= b; trace(a); // 4
Relaterade API-element
* multiplication | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Multiplicerar två numeriska uttryck. Om båda uttrycken är heltal är produkten ett heltal. Om något av eller båda uttrycken är flyttal är produkten ett flyttal.
Operanderexpression1:Number —
Ett tal eller uttryck som utvärderas till ett tal.
| |
expression2:Number —
Ett tal eller uttryck som utvärderas till ett tal.
|
Number —
Ett heltal eller flyttal.
|
Exempel
Så här använder du exemplet
Följande programsats multiplicerar heltalen 2 och 3, vilket ger heltalet 6:
trace(2*3); // 6
trace(2.0 * 3.1416); // 6.2832
*= multiplication assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tilldelar expression1
värdet på expression1 * expression2
. Följande två uttryck är likvärdiga:
x *= y x = x * yOperander
expression1:Number —
Ett tal eller uttryck som utvärderas till ett tal.
| |
expression2:Number —
Ett tal eller uttryck som utvärderas till ett tal.
|
Number —
Värdet på expression1 * expression2 . Om ett uttryck inte kan konverteras till ett numeriskt värde returnerar det NaN (inte ett tal).
|
Exempel
Så här använder du exemplet
I följande exempel tilldelas variabeln
a
värdet 50:
var a:Number = 5; var b:Number = 10; trace(a *= b); // 50
c
och d
:
var i:Number = 5; var c:Number = 4 - 6; var d:Number = i + 2; trace(c *= d); // -14
Relaterade API-element
:: name qualifier | Operatorn |
namespace::property namespace::method() namespace::xmlObject.property namespace::xmlObject.@attribute |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Identifierar namnutrymmet för en egenskap, en metod, en XML-egenskap eller ett XML-attribut.
Operandernamespace:Object —
Det identifierande namnutrymmet.
| |
propertyName:Object —
Den egenskap, den metod, den XML-egenskap eller det XML-attribut som ska identifieras.
|
Exempel
Så här använder du exemplet
I följande exempel används
::
-operatorn för att identifiera två metoder som har samma namn i två olika namnutrymmen:
public class NamespaceExample extends Sprite { public namespace French; public namespace Hawaiian; public function NamespaceExample() { trace(Hawaiian::hello()); // aloha trace(French::hello()); // bonjour } Hawaiian function hello():String { return "aloha"; } French function hello():String { return "bonjour"; } }
::
för att identifiera XML-egenskaper med angivna namnutrymmen:
var soap:Namespace = new Namespace("http://schemas.xmlsoap.org/wsdl/soap/"); var w:Namespace = new Namespace("http://weather.example.org/forecast"); var myXML:XML = <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <soap:Body> <w:forecast xmlns:w="http://weather.example.org/forecast"> <w:city>Quito</w:city> <w:country>Ecuador</w:country> <date>2006-01-14</date> </w:forecast> </soap:Body> </soap:Envelope>; trace(myXML.soap::Body.w::forecast.w::city); // Quito
Relaterade API-element
new | Operatorn |
|
Körningsmiljöversioner: | Flash Player 5 |
Instansierar en klassinstans. Operatorn new
kan användas med en klass eller variabel av typen Class för att skapa en klassinstans. Operatorn new
används vanligtvis med ett klassobjekt för att skapa en instans av en klass. Programsatsen new Sprite()
skapar exempelvis en instans av klassen Sprite.
Operatorn new
kan också användas för att koppla en klass till en inbäddad resurs, vilket är ett externt objekt som en bild, ett ljud eller ett teckensnitt som kompileras till en SWF-fil. Varje inbäddad resurs representeras av en unik inbäddad resursklass. Om du vill öppna en inbäddad resurs måste du använda operatorn new
för att instansiera dess associerade klass. Sedan kan du anropa lämpliga metoder och egenskaper för den inbäddade resursklassen och ändra den inbäddade resursen.
Om du föredrar att definiera klasser med funktionsobjekt i stället för nyckelordet class
kan du använda operatorn new
för att skapa objekt baserat på konstruktorfunktioner. Blanda inte ihop konstruktorfunktioner med konstruktormetoder i en klass. En konstruktorfunktion är ett funktionsobjekt som definieras med nyckelordet function
, men som inte tillhör en klassdefinition. Om du använder konstruktorfunktioner för att skapa objekt måste du använda prototyparv i stället för klassarv.
constructor:* —
En klass, en funktion eller en variabel som innehåller ett värde av klasstypen.
| |
parameters:* —
En eller flera parametrar åtskilda av kommatecken.
|
Exempel
Så här använder du exemplet
I följande exempel skapas klassen
Book
och operatorn new
används för att skapa objekten book1
och book2
.
class Book { var bName:String; var bPrice:Number; public function Book(nameParam:String, priceParam:Number){ bName = nameParam; bPrice = priceParam; } } var book1:Book = new Book("Confederacy of Dunces", 19.95); var book2:Book = new Book("The Floating Opera", 10.95); trace(book1); // [object Book]
new
för att skapa en instans av klassen Array med 18 element:
var golfCourse:Array = new Array(18);
Relaterade API-element
{} object initializer | Operatorn |
object = {name1 : value1, name2 : value2,... nameN : valueN} |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Skapar ett nytt objekt och initierar det med de angivna egenskapsparen name
och value
. Att använda den här operatorn är samma sak som att använda syntaxen new Object
och fylla i egenskapsparen med tilldelningsoperatorn. Prototypen för det nyskapade objektet kallas allmänt för objektet Object.
Den här operatorn används även för att markera block med sammanhängande kod som är kopplad till programsatser för flödeskontroll (for
, while
, if
, else
, switch
) samt funktioner.
object:Object —
Objektet som ska skapas.
| |
name1,2,...N:Object —
Namnen på egenskaperna.
| |
value1,2,...N:Object —
Motsvarande värden för varje name -egenskap.
|
Object —
Ett Object-objekt.
|
Exempel
Så här använder du exemplet
Den första raden i följande kod skapar ett tomt objekt med hjälp av operatorn objektinitierare ({}). Den andra raden skapar ett nytt objekt med hjälp av en konstruktorfunktion:
var object:Object = {}; var object:Object = new Object();
account
-objekt och egenskaperna name
, address
, city
, state
, zip
och balance
initieras med tillhörande värden:
var account:Object = {name:"Adobe Systems, Inc.", address:"601 Townsend Street", city:"San Francisco", state:"California", zip:"94103", balance:"1000"}; for (i in account) { trace("account."+i+" = "+account[i]); }
var person:Object = {name:"Gina Vechio", children:["Ruby", "Chickie", "Puppa"]};
var person:Object = new Object(); person.name = "Gina Vechio"; person.children = new Array(); person.children[0] = "Ruby"; person.children[1] = "Chickie"; person.children[2] = "Puppa";
Relaterade API-element
() parentheses | Operatorn |
(expression1[, expression2]) (expression1, expression2) function(parameter1,..., parameterN) |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Utför en grupperingsåtgärd på en eller flera parametrar, utför sekventiell utvärdering av uttryck eller omger en eller fler parametrar och skickar dem som argument till en funktion som föregår parentesen.
Användning 1: Styr i vilken ordning operatorerna utförs. Parenteser åsidosätter den vanliga ordningen och gör att uttrycken inom parenteser utvärderas först. När parenteser kapslas utvärderas innehållet i de innersta parenteserna före innehållet i de yttre.
Användning 2: Utvärderar en serie sekventiella uttryck, som avgränsas med kommatecken, och returnerar resultatet av det sista uttrycket.
Användning 3: Omger en eller flera parametrar och skickar dem till den funktion som föregår parenteserna.
Operanderexpression1:Object —
Ett uttryck som kan innefatta tal, strängar, variabler eller text.
| |
expression2:Object —
Ett uttryck som kan innefatta tal, strängar, variabler eller text.
| |
function:Function —
Funktionen som ska utföras för parentesens innehåll.
| |
parameter1...parameterN:Object —
En serie med parametrar som ska köras innan resultaten skickas som argument till funktionen utanför parenteserna.
|
Exempel
Så här använder du exemplet
Användning 1: Följande programsatser visar hur parenteser används för att bestämma i vilken ordning uttryck körs:
trace((2 + 3) * (4 + 5)); // 45 trace(2 + (3 * (4 + 5))); // 29 trace(2 + (3 * 4) + 5); // 19 trace(2 + (3 * 4) + 5); // 19
foo()
, därefter funktionen bar()
, och sedan returneras resultatet för uttrycket a + b
:
var a:Number = 1; var b:Number = 2; function foo() { a += b; } function bar() { b *= 10; } trace((foo(), bar(), a + b)); // 23
var today:Date = new Date(); trace(today.getFullYear()); // outputs current year function traceParameter(param):void { trace(param); } traceParameter(2 * 2); // 4
Relaterade API-element
( ) parentheses (XML) | Operatorn |
myXML.(expression) |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Utvärderar ett uttryck i ett ECMAScript för XML (E4X) XML-konstruktion. myXML.(lastName == "Smith")
identifierar till exempel XML-element med namnet lastName
och värdet "Smith"
. Resultatet är ett XMLList-objekt.
myXML:* —
Ett XML- eller XMLList-objekt.
| |
expression:* —
Det uttryck som definierar de matchande elementen.
|
XMLList —
Den XMLList som specificeras av parenteserna.
|
Exempel
Så här använder du exemplet
Följande exempel visar hur parenteser används för att identifiera elements och attribut:
var myXML:XML = <employees> <employee id = "42"> <firstName>Joe</firstName> <lastName>Smith</lastName> </employee> <employee id = "43"> <firstName>Susan</firstName> <lastName>Jones</lastName> </employee> <employee id = "44"> <firstName>Anne</firstName> <lastName>Smith</lastName> </employee> </employees>; trace(myXML.employee.(lastName == "Smith").@id.toXMLString()); // 42 // 44 trace(myXML.employee.(Number(@id) > 42).@id.toXMLString()); // 43 // 44
Relaterade API-element
/ RegExp delimiter | Operatorn |
/pattern/flags |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Vid användning före och efter tecken visar de att tecknen har ett strängvärde och anses vara ett reguljärt uttryck (RegExp), inte en variabel, sträng eller något annat ActionScript-element. Observera emellertid att två på varandra följande snedstreck (//
) visar början på en kommentar.
pattern:String —
En sekvens med ett eller flera tecken som definierar det reguljära uttryckets mönster.
| |
flags:String —
En sekvens med noll eller fler av följande tecken: g (för flaggan global ), i (för flaggan ignoreCase ), s (för flaggan dotall ), x (för flaggan extended ).
|
Exempel
Så här använder du exemplet
I följande exempel används snedstreck (/) för att ange värdet för en variabel av typen RegExp (flaggan
i
ställs in för att ignorera skiftlägeskänslighet vid matchning):
var myRegExp:RegExp = /foo-\d+/i; trace(myRegExp.exec("ABC Foo-32 def.")); // Foo-32
Relaterade API-element
=== strict equality | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Testar om två uttryck är lika, men utför inte automatisk datakonvertering. Resultatet är true
om båda uttrycken, inklusive de tillhörande datatyperna, är lika.
Operatorn strikt likhet (===
) är samma som likhetsoperatorn (==
) på tre sätt:
- Tal och booleska värden jämförs utifrån värde och anses vara lika om de har samma värde.
- Stränguttryck är lika om de har samma antal tecken och tecknen är identiska.
- Variabler som representerar objekt, arrayer och funktioner jämförs utifrån referens. Två sådana variabler är lika om de refererar till samma objekt, array eller funktion. Två olika arrayer anses aldrig vara lika, även om de innehåller samma antal element.
===
) skiljer sig endast från likhetsoperatorn (==
) på två sätt:
- Operatorn strikt likhet utför endast automatisk datakonvertering för taltyper (Number, int och uint), medan likhetsoperatorn utför automatisk datakonvertering för alla primitiva datatyper.
- Vid en jämförelse av
null
ochundefined
returnerar operatorn strikt likhet värdetfalse
.
var x:Number = 1
) med primitiva objekt (till exempel var x:Number = new Number(1)
). Detta beror på att ActionScript 3.0 tar bort skillnaden mellan primitiva värden och primitiva wrapper-objekt.
För det första returnerar jämförelser mellan primitiva värden och primitiva objekt som innehåller samma värde true
i ActionScript 3.0, men false
i tidigare versioner. I tidigare versioner är datatypen för ett primitivt värde antingen Boolean, Number eller String, medan datatypen för ett primitivt objekt alltid är Object och inte Boolean, Number eller String. Den praktiska effekten av den här skillnaden är att följande kod resulterar i false
i tidigare versioner av ActionScript, eftersom operandernas datatyper inte matchar. I ActionScript 3.0 är resultatet emellertid true
, eftersom primitiva värden är av typen Boolean, Number, int, uint eller String, vare sig de är placerade i ett objekt eller inte.
var num1:Number = 1; var num2:Number = new Number(1); trace(num1 === num2); // true in ActionScript 3.0, false in ActionScript 2.0
true
i ActionScript 3.0, men false
i tidigare versioner.
var num1:Number = new Number(1); var num2:Number = new Number(1); trace(num1 == num2); // true in ActionScript 3.0, false in ActionScript 2.0 trace(num1 === num2); // true in ActionScript 3.0, false in ActionScript 2.0
false
både för operatorn likhet och för operatorn strikt likhet. Men i ActionScript 3.0 tillhör båda variablerna datatypen Number och jämförs utifrån värde, och resultatet är true
både för operatorn likhet och för operatorn strikt likhet.
Operanderexpression1:Object —
Ett tal, en sträng, ett booleskt värde, en variabel, ett objekt, en array eller en funktion.
| |
expression2:Object —
Ett tal, en sträng, ett booleskt värde, en variabel, ett objekt, en array eller en funktion.
|
Boolean —
Det booleska resultatet av jämförelsen.
|
Exempel
Så här använder du exemplet
I följande exempel visas hur strikt likhet (
===
) är samma sak som likhet (==
) när såväl värde som datatyp matchar:
var string1:String = "5"; var string2:String = "5"; trace(string1 == string2); // true trace(string1 === string2); // true
==
) gör det:
// The equality (==) operator converts 5 to "5", but the strict equality operator does not var string1:String = "5"; var num:Number = 5; trace(string1 == num); // true trace(string1 === num); // false
var num:Number = 1; var bool:Boolean = true; trace(num == bool); // true trace(num === bool); // false
var num1:Number = 1; var num2:int = 1; var num3:uint = 1; trace(num1 === num2); // true trace(num1 === num3); // true
null
och undefined
som inte lika, men att likhetsoperatorn utvärderar dem som lika:
trace(null == undefined); // true trace(null === undefined); // false
Relaterade API-element
!== strict inequality | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Testar den exakta motsatsen till operatorn för strikt likhet (===
). Operatorn strikt olikhet utför samma åtgärder som operatorn inequality, förutom att endast datatyperna int och uint konverteras.
Om expression1
är lika med expression2
, och deras datatyper är lika, är resultatet false
.
Operatorn strikt olikhet (!==
) är samma som operatorn olikhet (!=
) på tre sätt:
- Tal och booleska värden jämförs utifrån värde och anses vara lika om de har samma värde.
- Stränguttryck är lika om de har samma antal tecken och tecknen är identiska.
- Variabler som representerar objekt, arrayer och funktioner jämförs utifrån referens. Två sådana variabler är lika om de refererar till samma objekt, array eller funktion. Två olika arrayer anses aldrig vara lika, även om de innehåller samma antal element.
!=
) på två sätt:
- Operatorn strikt olikhet (
!==
) utför endast automatisk datakonvertering för taltyper, Number, int och uint, medan olikhetsoperatorn (!=
) utför automatisk datakonvertering för alla primitiva datatyper. - Vid en jämförelse av
null
ochundefined
returnerar operatorn strikt olikhet (!==
) värdettrue
.
expression1:Object —
Ett tal, en sträng, ett booleskt värde, en variabel, ett objekt, en array eller en funktion.
| |
expression2:Object —
Ett tal, en sträng, ett booleskt värde, en variabel, ett objekt, en array eller en funktion.
|
Boolean —
Det booleska resultatet av jämförelsen.
|
Exempel
Så här använder du exemplet
Kommentarerna i följande kod visar det returnerade värdet för åtgärder som använder operatorerna likhet (
==
), strikt likhet (===
) och strikt olikhet (!==
):
var s1:String = "5"; var s2:String = "5"; var s3:String = "Hello"; var n:Number = 5; var b:Boolean = true; trace(s1 == s2); // true trace(s1 == s3); // false trace(s1 == n); // true trace(s1 == b); // false trace(s1 === s2); // true trace(s1 === s3); // false trace(s1 === n); // false trace(s1 === b); // false trace(s1 !== s2); // false trace(s1 !== s3); // true trace(s1 !== n); // true trace(s1 !== b); // true
Relaterade API-element
" string delimiter | Operatorn |
"text" |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Vid användning före och efter tecken visar de att tecknen har ett strängvärde och anses vara en sträng, inte en variabel, ett numeriskt värde eller något annat ActionScript-element.
Operandertext:String —
En sekvens med noll eller flera tecken.
|
Exempel
Så här använder du exemplet
I följande exempel används citattecken (") för att visa att värdet för variabeln
yourGuess
är strängen "Prince Edward Island"
och inte namnet på en variabel.
var yourGuess:String = "Prince Edward Island"; submit_btn.onRelease = function() { trace(yourGuess); }; // Prince Edward Island
Relaterade API-element
- subtraction | Operatorn |
|
Körningsmiljöversioner: | Flash Player 9 |
Används för negering eller subtraktion.
Användning 1: När operatorn används för negation inverteras tecknet för ett numeriskt uttryck.
Användning 2: När operatorn används för subtraktion utför den en aritmetisk subtraktion på två numeriska uttryck och subtraherar expression2
från expression1
. Om båda uttrycken är heltal är differensen ett heltal. Om något av, eller båda uttrycken är flyttal är differensen ett flyttal.
expression1:Number —
Ett tal eller uttryck som utvärderas till ett tal.
| |
expression2:Number —
Ett tal eller uttryck som utvärderas till ett tal.
|
Number —
Ett heltal eller flyttal.
|
Exempel
Så här använder du exemplet
Användning 1: Följande programsats inverterar tecknet för uttrycket 2 + 3:
trace(-(2 + 3)); // -5
trace(5 - 2); // 3
Följande programsats subtraherar flyttalet 1,5 från flyttalet 3,25:
trace(3.25 - 1.5); // 1.75
-= subtraction assignment | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Tilldelar expression1
värdet på expression1 - expression2
. Följande två programsatser är till exempel likvärdiga:
x -= y ; x = x - y;
Stränguttryck måste konverteras till tal, annars returneras NaN
(inte ett tal).
expression1:Number —
Ett tal eller uttryck som utvärderas till ett tal.
| |
expression2:Number —
Ett tal eller uttryck som utvärderas till ett tal.
|
Number —
Resultatet av den aritmetiska åtgärden.
|
Exempel
Så här använder du exemplet
I följande exempel används operatorn subtraktionstilldelning (
-=
) för att subtrahera 10 från 5 och tilldela resultatet till variabeln x
:
var x:Number = 5; var y:Number = 10; x -= y; trace(x); // -5
var x:String = "5"; var y:String = "10"; x -= y; trace(x); // -5
Relaterade API-element
: type | Operatorn |
[modifiers] var variableName:type function functionName():type { ... } function functionName(parameter1:type, ..., parameterN:type) [:type]{ ... } |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Denna operatorn används för tilldelning av en datatyp och specificerar variabeltypen, funktionsreturtypen eller funktionsparametertypen. När den används i en variabeldeklaration eller i en tilldelning anger den här operatorn variabelns typ. När den används i en funktionsdeklaration eller -definition anger operatorn funktionens returtyp. Används den med en funktionsparameter i en funktionsdefinition anger operatorn variabeltypen som förväntas för den parametern.
Typkontroll sker alltid vid körning. Men om kompilatorn är inställd på strikt läge kontrolleras alla typer vid kompileringen, och fel genereras vid felmatchningar. Felmatchningar kan uppstå under tilldelningsåtgärder, funktionsanrop och avreferering av klassmedlemmar med punktoperatorn (.
).
Typer som du kan använda omfattar interna objekttyper, klasser och gränssnitt som du anger samt void
. De giltiga interna typerna är Boolean, Number, int, uint och String. Inbyggda klasser stöds också som interna typer.
Om du inte tilldelar någon datatyp betraktas variabeln, funktionsreturvärdet eller funktionsparametern som icke typbestämd vilket betyder att värdet kan vara vilken datatyp som helst. Om du vill tydliggöra att du tänker använda ett icke typbestämt värde kan du använda asterisken (*) som typanteckning. När asterisken används som typanteckning är den likvärdig med att ange en variabel, funktionsreturtyp eller funktionsparameter som icke typbestämd.
OperandervariableName:* —
En identifierare för en variabel.
| |
type:* —
En intern datatyp, ett klassnamn som du har definierat eller ett gränssnittsnamn.
| |
functionName:Function —
En identifierare för en funktion.
| |
parameter:* —
En identifierare för en funktionsparameter.
|
Exempel
Så här använder du exemplet
Användning 1: I följande exempel deklareras en publik variabel med namnet
userName
och typen String, och den tilldelas en tom sträng:
var userName:String = "";
randomInt()
, som anger sin returtyp som int:
function randomInt(integer:int):int { return Math.round(Math.random()*integer); } trace(randomInt(8));
squareRoot()
, som ges en parameter med namnet val
och typen Number, och kvadratroten ur val
returneras, även den av typen Number:
function squareRoot(val:Number):Number { return Math.sqrt(val); } trace(squareRoot(121));
Relaterade API-element
typeof | Operatorn |
|
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Utvärderar expression
och returnerar en sträng som anger uttryckets datatyp. Resultatet begränsas till sex möjliga strängvärden: boolean
, function
, number
, object
, string
och xml
. Om du använder den här operatorn på en instans av en användardefinierad klass blir resultatet strängen object
. Operatorn typeof
ingår för bakåtkompatibilitet. Använd is
-operatorn för att kontrollera typkompatibilitet.
expression:Object —
Ett objekt som ska utvärderas.
|
String —
En strängrepresentation av typen för expression . I följande tabell visas resultatet av operatorn typeof för varje uttryckstyp.
|
Exempel
Så här använder du exemplet
Följande exempel visar resultatet av att använda
typeof
på olika objekt och värden.
trace(typeof Array); // object trace(typeof Date); // object trace(typeof 3); // number
new
-operatorn för att skapa ett objekt. Detta skiljer sig från tidigare versioner av ActionScript, där typeof
-operatorn returnerar object
för variabeln b
:
var a:String = "sample"; var b:String = new String("sample"); trace(typeof a); // string trace(typeof b); // string
Relaterade API-element
void | Operatorn |
|
Körningsmiljöversioner: | Flash Player 9 |
Utvärderar ett uttryck och tar sedan bort dess värde och returnerar undefined
. Operatorn void
används ofta i jämförelser där operatorn ==
används för att kontrollera om det finns odefinierade värden.
expression:Object —
Ett uttryck som ska utvärderas.
|
* —
Värdet undefined .
|
< > XML literal tag delimiter | Operatorn |
myXML= <{tagName} {attributeName} = {attributeValue}>{content}{tagName}> |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 |
Definierar en XML-tagg i en XML-litteral. Använd ett snedstreck / för att definiera den avslutande taggen.
OperandermyXML:* —
Ett XML- eller XMLList-objekt.
| |
tagName:* —
Ett uttryck som utvärderas till namnet på en XML-tagg.
| |
attributeName:* —
Ett uttryck som utvärderas till namnet på ett XML-attribut.
| |
attributeValue:* —
Ett uttryck som utvärderas till värdet på ett XML-attribut.
| |
content:* —
Ett uttryck som utvärderas till innehållet i en XML-tagg.
|
Exempel
Så här använder du exemplet
Följande exempel visar hur du använder operatorerna
<
och >
för att definiera en XML-sträng:
var x:XML = <item id= "324">cola</item>;
Relaterade API-element
Tue Jun 12 2018, 01:58 PM Z