flash actionscript 運算符_第1頁
flash actionscript 運算符_第2頁
flash actionscript 運算符_第3頁
flash actionscript 運算符_第4頁
flash actionscript 運算符_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、符號運算符是指定如何組合、比較或修改表達(dá)式值的字符。 算術(shù)  +addition加上數(shù)字表達(dá)式。 -decrement操作數(shù)減去 1。 /divisionexpression1 除以 expression2。 +increment將表達(dá)式加 1。 %modulo計算 expression1除以 expression2 的余數(shù)。 *multiplication將兩個數(shù)值表達(dá)式相乘。 -subtraction用于執(zhí)行求反或減法運算。 算術(shù)組合賦值  +=addition assignment將 ex

2、pression1 + expression2 的值賦給 expression1。 /=division assignment將 expression1 / expression2 的值賦給 expression1。 %=modulo assignment將 expression1 % expression2 的值賦給 expression1。 *=multiplication assignment將 expression1 * expression2 的值賦給 expression1。 -=subtraction assignment將 express

3、ion1 - expression2 的值賦給 expression1。 賦值  =assignment將 expression2(右側(cè)的操作數(shù))的值賦予 expression1 中的變量、數(shù)組元素或?qū)傩浴?#160;按位  &bitwise AND將 expression1 和 expression2 轉(zhuǎn)換為 32 位無符號整數(shù),并對整數(shù)參數(shù)的每一位執(zhí)行布爾 AND 運算。 <<bitwise left shift將 expression1 和 shiftCount 轉(zhuǎn)換為 32 位整數(shù),并將 expression1 中的所有位向左

4、移動由 shiftCount 轉(zhuǎn)換所得到的整數(shù)指定的位數(shù)。 bitwise NOT將 expression 轉(zhuǎn)換為一個 32 位帶符號整數(shù),然后按位對 1 求補。 |bitwise OR將 expression1 和 expression2 轉(zhuǎn)換為 32 位無符號整數(shù),并在 expression1 或 expression2 的對應(yīng)位為 1 的每個位的位置上放置 1。 >>bitwise right shift將 expression 和 shiftCount 轉(zhuǎn)換為 32 位整數(shù),并將 expression 中的所有位向右移動由 shiftCount

5、 轉(zhuǎn)換所得到的整數(shù)指定的位數(shù)。 >>>bitwise unsigned right shift此運算符與按位向右移位運算符 (>>) 基本相同,只是此運算符不保留原始表達(dá)式的符號,因為左側(cè)的位始終用 0 填充。 bitwise XOR將 expression1 和 expression2 轉(zhuǎn)換為 32 位無符號整數(shù),并在 expression1 或 expression2 中對應(yīng)位為 1(但不是在兩者中均為 1)的每個位的位置上放置 1。 按位組合賦值  &=bitwise AND assignment對 expre

6、ssion1 賦予 expression1 & expression2 的值。 <<=bitwise left shift and assignment執(zhí)行按位向左移位 (<<=) 運算,并將內(nèi)容作為結(jié)果存儲在 expression1 中。 |=bitwise OR assignment將 expression1 | expression2 的值賦給 expression1。 >>=bitwise right shift and assignment執(zhí)行按位向右移位運算,并將結(jié)果存儲在 expression 中。

7、0;>>>=bitwise unsigned right shift and assignment執(zhí)行無符號按位向右移位運算,并將結(jié)果存儲在 expression 中。 =bitwise XOR assignment將 expression1 expression2 的值賦給 expression1。 注釋  /*.*/block comment delimiter分隔一行或多行腳本注釋。 /line comment delimiter指示腳本注釋的開始。 比較  =equality測試兩個表達(dá)式是否相等。 

8、;>greater than比較兩個表達(dá)式,并確定 expression1 是否大于 expression2;如果是,則結(jié)果為 true。 >=greater than or equal to比較兩個表達(dá)式,確定 expression1 是大于或等于 expression2 (true) 還是 expression1 小于 expression2 (false)。 !=inequality測試結(jié)果是否與等于運算符 (=) 正好相反。 <less than比較兩個表達(dá)式,并確定 expression1 是否小于 expression2;如果是,則結(jié)

9、果為 true。 <=less than or equal to比較兩個表達(dá)式,并確定 expression1 是否小于等于 expression2;如果是,則結(jié)果為 true。 =strict equality測試兩個表達(dá)式是否相等,但不執(zhí)行自動數(shù)據(jù)轉(zhuǎn)換。 !=strict inequality測試結(jié)果與全等運算符 (=) 正好相反。 邏輯  &&logical AND如果 expression1 為 false 或可以轉(zhuǎn)換為 false,則返回該表達(dá)式;否則,返回 expression2。 &&

10、;=logical AND assignment將 expression1 && expression2 的值賦給 expression1。 !logical NOT對變量或表達(dá)式的布爾值取反。 |logical OR如果 expression1 為 true 或可以轉(zhuǎn)換為 true,則返回該表達(dá)式;否則,返回 expression2。 |=logical OR assignment將 expression1 | expression2 的值賦給 expression1。 其它  array access用指定的元素(a0 等)

11、初始化一個新數(shù)組或多維數(shù)組,或者訪問數(shù)組中的元素。  as計算第一個操作數(shù)指定的表達(dá)式是否為第二個操作數(shù)指定的數(shù)據(jù)類型的成員。 ,comma計算 expression1,然后計算 expression2,依此類推。 ?:conditional計算 expression1,如果 expression1 的值為 true,則結(jié)果為 expression2 的值;否則,結(jié)果為 expression3 的值。  delete破壞由 reference 指定的對象屬性;如果在運算完成后該屬性不存在,則結(jié)果為 true;否則,結(jié)果為 false。

12、 .dot訪問類變量和方法,獲取并設(shè)置對象屬性并分隔導(dǎo)入的包或類。  in計算屬性是否為特定對象的一部分。  instanceof計算表達(dá)式的原型鏈?zhǔn)欠癜?function 的原型對象。  is計算對象是否與特定數(shù)據(jù)類型、類或接口兼容。 :name qualifier標(biāo)識屬性、方法或 XML 屬性或特性的命名空間。  new對類實例進(jìn)行實例化。 object initializer創(chuàng)建一個新對象,并用指定的 name 和 value 屬性對初始化該對象。 ()parenth

13、eses對一個或多個參數(shù)執(zhí)行分組運算,執(zhí)行表達(dá)式的順序計算,或者括住一個或多個參數(shù)并將它們作為參量傳遞給括號前面的函數(shù)。 /RegExp delimiter如果用在字符之前和之后,則表示字符具有字面值,并被視作一個正則表達(dá)式 (RegExp),而不是一個變量、字符串或其它 ActionScript 元素。 :type用于指定數(shù)據(jù)類型;此運算符可指定變量類型、函數(shù)返回類型或函數(shù)參數(shù)類型。  typeof計算 expression 并返回一個指定表達(dá)式的數(shù)據(jù)類型的字符串。  void計算表達(dá)式,然后放棄其值,返回 undefined。&#

14、160;字符串  +concatenation連接(合并)字符串。 +=concatenation assignment將 expression1 + expression2 的值賦給 expression1。 "string delimiter如果用在字符之前和之后,則表示字符具有字面值,并被視作一個字符串,而不是一個變量、數(shù)值或其它 ActionScript 元素。 XML  attribute identifier標(biāo)識 XML 或 XMLList 對象的屬性。  braces (XML)計算在 XML 或 XMLLis

15、t 初始值設(shè)定項中使用的表達(dá)式。  brackets (XML)訪問 XML 或 XMLList 對象的屬性或特性。 +concatenation (XMLList)將 XML 或 XMLList 值連接(合并)到 XMLList 對象中。 +=concatenation assignment (XMLList)對 XMLList 對象 expression1 賦予 expression1 + expression2 的值。  delete (XML)刪除由 reference 指定的 XML 元素或?qū)傩浴?#160;.descendant a

16、ccessor定位到 XML 或 XMLList 對象的后代元素,或(結(jié)合使用 運算符)查找匹配的后代屬性。 .dot (XML)定位到 XML 或 XMLList 對象的子元素,或(結(jié)合使用 運算符)返回 XML 或 XMLList 對象的屬性。 ( )parentheses (XML)計算 E4X XML 構(gòu)造中的表達(dá)式。  < >XML literal tag delimiter在 XML 文本中定義 XML 標(biāo)簽。運算符詳細(xì)信息+ addition運算符 用法 expression1 + expression2語言版本: A

17、ctionScript 3.0運行時版本: Flash Player 9加上數(shù)字表達(dá)式。兩個表達(dá)式都為整數(shù)時,和為整數(shù);其中一個或兩個表達(dá)式為浮點數(shù)時,和為浮點數(shù)。 如果其中一個表達(dá)式為字符串,則所有其它表達(dá)式都被轉(zhuǎn)換為字符串,然后連接起來,而不是進(jìn)行求和。否則,如果表達(dá)式不是數(shù)字,F(xiàn)lash® Player 會將其轉(zhuǎn)換為數(shù)字。操作數(shù) expression1:Number 要加上的值。 expression2:Number 要加上的值。 結(jié)果 Number 一個整數(shù)或浮點數(shù)。示例如何使用示例 下面的語句將整數(shù) 2 和 3 相加: trace(2 + 3); / 5下面的語句

18、將浮點數(shù) 2.5 與 3.25 相加: trace(2.5 + 3.25); / 5.75下例說明如果其中一個表達(dá)式為字符串,則所有其它表達(dá)式都被轉(zhuǎn)換為字符串,然后連接起來: trace("Number " + 8 + 0); / Number 80與動態(tài)和輸入文本字段相關(guān)聯(lián)的變量是字符串?dāng)?shù)據(jù)類型。在以下示例中,變量 deposit 是舞臺上的一個輸入文本字段。在用戶輸入存款數(shù)目后,該腳本嘗試將 deposit 添加到 oldBalance。然而,由于 deposit 的類型是 String,因此腳本連接(合并成一個字符串)變量的值,而不是對它們求和。 var oldBal

19、ance:Number = 1345.23; var currentBalance = deposit_txt.text + oldBalance; trace(currentBalance); 例如,如果用戶在 deposit 文本字段中輸入 475,則 trace() 語句將值 4751345.23 發(fā)送到撌涑觥泵姘濉若要更正這一點,請使用 Number() 函數(shù)將字符串轉(zhuǎn)換為數(shù)字,如下所示: var oldBalance:Number = 1345.23; var currentBalance:Number = Number(deposit_txt.text) + oldBalance;

20、trace(currentBalance);另請參見 + (concatenation)+= addition assignment運算符  用法 expression1 += expression2語言版本: ActionScript 3.0運行時版本: Flash Player 9將 expression1 + expression2 的值賦給 expression1。例如,以下兩個語句的結(jié)果是相同的:x += y; x = x + y;加法運算符 (+) 的所有規(guī)則適用于加法賦值運算符 (+=)。 操作數(shù) expression1:Number 一個

21、數(shù)字。 expression2:Number 一個數(shù)字。 結(jié)果 Number 加法運算的結(jié)果。示例如何使用示例 下例說明加法賦值運算符 (+=) 的數(shù)值用法: var x:Number = 5; var y:Number = 10; x += y; trace(x); / 15 另請參見 + (addition) array access運算符  用法 myArray = a0, a1,.aNmyArrayi = value myObjectpropertyName運行時版本: Flash Player 9用指定的元素(a0 等)初始化一個新數(shù)組或多維數(shù)組,或者訪

22、問數(shù)組中的元素。數(shù)組訪問運算符使您能夠動態(tài)地設(shè)置和檢索實例、變量和對象的名稱。它還使您能夠訪問對象屬性。 用法 1:數(shù)組是一個對象,其屬性稱為元素,這些元素由名為索引的數(shù)字逐一標(biāo)識。創(chuàng)建數(shù)組時,需用數(shù)組訪問 () 運算符(即方括號)括住元素。一個數(shù)組可以包含各種類型的元素。例如,下面這個名為 employee 的數(shù)組包含三個元素;第一個元素是一個數(shù)字,另外兩個元素是字符串(在引號內(nèi)): var employee:Array = 15, "Barbara", "Jay" 可以通過嵌套方括號來模擬多維數(shù)組。您最多可以嵌套深度為 256 級的數(shù)組。以下代碼創(chuàng)建

23、一個名為 ticTacToe 且含有三個元素的數(shù)組;其中每個元素也是一個具有三個元素的數(shù)組: 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.*/ 用法 2:用方括號 () 括住每個元素的索引可直接對其進(jìn)行訪問;這樣可以向數(shù)組添加新元素以及更改或檢索現(xiàn)有元素的值。數(shù)組中第一個索引始終是 0,如下例所示: var my_array:Array = new Array(); my_

24、array0 = 15; my_array1 = "Hello" my_array2 = true; 可以使用方括號來添加第四個元素,如下例所示: my_array3 = "George" 可以使用方括號訪問多維數(shù)組中的元素。第一對括號標(biāo)識原始數(shù)組中的元素,第二對括號標(biāo)識嵌套數(shù)組中的元素。下面的 trace() 語句查找第二個數(shù)組(索引 1)的第三個元素(索引 2)。 var ticTacToe:Array = 1, 2, 3, 4, 5, 6, 7, 8, 9; trace(ticTacToe12); / 6 用法 3:可以使用數(shù)組訪問運算符來動態(tài)設(shè)置

25、和檢索對象的屬性值: var obj:Object = new Object();p1 = "foo"trace(obj"prop" + 1); / p2 = "bar"for (j in obj) trace(objj); /* Output of for loop: foobar */操作數(shù) myArray:Object 數(shù)組的名稱。 a0, a1,.aN:Object 數(shù)組中的元素;任何本機類型或?qū)ο髮嵗?,包括嵌套的?shù)組。 i:Number 大于等于 0 的整數(shù)索引。 myObject:Obje

26、ct 對象的名稱。 propertyName:String 為對象的屬性命名的字符串。 結(jié)果 Object 用法 1:對一個數(shù)組的引用。用法 2:數(shù)組中的一個值;本機類型或?qū)ο髮嵗ò〝?shù)組實例)。用法 3:對象的一個屬性;本機類型或?qū)ο髮嵗ò〝?shù)組實例)。 示例如何使用示例 下例說明創(chuàng)建新的空 Array 對象的兩種方法;第一行使用方括號: var my_array:Array = ; var my_array:Array = new Array(); 下例創(chuàng)建一個名為 employee_array 且含有三個元素的數(shù)組,并更改該數(shù)組中的第三個元素。var employee_array =

27、 "Barbara", "George", "Mary" trace(employee_array); / Barbara,George,Mary employee_array2 = "Sam" trace(employee_array); / Barbara,George,Sam 在下例中,計算括號中的表達(dá)式,并將結(jié)果用作要從 obj 對象中檢索的變量的名稱: var obj:Object = new Object();p1 = "foo"p2 = "ba

28、r"for (var i:int = 1;i < 3;i+) trace(obj"prop"+i);/* Output of for loop:foobar */ 另請參見 Array classObject classas運算符  用法 expression as datatype語言版本: ActionScript 3.0運行時版本: Flash Player 9計算第一個操作數(shù)指定的表達(dá)式是否為第二個操作數(shù)指定的數(shù)據(jù)類型的成員。如果第一個操作數(shù)是該數(shù)據(jù)類型的成員,則結(jié)果為第一個操作數(shù)。否則,結(jié)果為 null 值。 第二個操

29、作數(shù)所用表達(dá)式的計算結(jié)果必須為數(shù)據(jù)類型。操作數(shù) expression:* 要針對指定的數(shù)據(jù)類型進(jìn)行檢查的值。 datatype:Class 用于計算 expression 操作數(shù)的數(shù)據(jù)類型。不能使用特殊的 * 類(即無類型)。 結(jié)果 Object 如果 expression 是在 datatype 中指定的數(shù)據(jù)類型的成員,則結(jié)果為 expression。否則,結(jié)果為 null 值。示例如何使用示例 下例創(chuàng)建一個名為 myArray 的簡單數(shù)組,并將 as 運算符用于各種數(shù)據(jù)類型。 public var myArray:Array = "one", "two&quo

30、t;, "three"trace(myArray as Array); / one,two,threetrace(myArray as Number); / nulltrace(myArray as int); / null另請參見 instanceofis= assignment運算符  用法 expression1 = expression2語言版本: ActionScript 3.0運行時版本: Flash Player 9將 expression2(右側(cè)的操作數(shù))的值賦予 expression1 中的變量、數(shù)組元素或?qū)傩???梢?/p>

31、按值也可以按引用進(jìn)行賦值。按值進(jìn)行賦值將復(fù)制 expression1 的實際值并將其存儲在 expression2 中。當(dāng) expression2 是原始值時(這意味著它的數(shù)據(jù)類型為 Boolean、Number、int、uint 或 String),使用按值進(jìn)行賦值。按引用進(jìn)行賦值將把對 expression2 的引用存儲在 expression1 中。按引用進(jìn)行賦值通常與 new 運算符一起使用。new 運算符將在內(nèi)存中創(chuàng)建一個對象,并將對內(nèi)存中該位置的引用分配給一個變量。 注意:在 ActionScript 3.0 中,所有的值(包括原始值)都是對象,所有的賦值都通過引用來完成,但是原始

32、對象具有一些特殊運算符,這些運算符使它們?nèi)缤M(jìn)行了按值賦值。操作數(shù) expression1:* 變量、數(shù)組元素或?qū)ο蟮膶傩浴?expression2:* 任何類型的值。 結(jié)果 Object 賦予的值 expression2。示例如何使用示例 下面的示例使用按值進(jìn)行賦值,將值 5 賦予變量 z。 var z:Number = 5;下面的示例使用按值進(jìn)行賦值,將值“hello”賦予變量 z: var x:String;x = "hello"下例使用按引用賦值,以創(chuàng)建 moonsOfJupiter 變量,該變量包含對新創(chuàng)建的 Array 對象的引用。然后使用按值進(jìn)行賦值,將值“C

33、allisto”復(fù)制到變量 moonsOfJupiter 所引用的數(shù)組的第一個元素: var moonsOfJupiter:Array = new Array();moonsOfJupiter0 = "Callisto"下例使用按引用進(jìn)行賦值來創(chuàng)建一個新對象,并將對該對象的引用賦予變量 mercury。然后使用按值進(jìn)行賦值,將值 3030 賦予 mercury 對象的 diameter 屬性: var mercury:Object = new Object();mercury.diameter = 3030; / in milestrace(mercury.diameter

34、); / 3030下例在上一示例的基礎(chǔ)上創(chuàng)建名為 merkur(mercury 在德語中的對應(yīng)詞)的變量,并對它賦予 mercury 的值。這樣,就創(chuàng)建了引用內(nèi)存中同一對象的兩個變量,也就是說您可以使用任一變量訪問該對象的屬性。然后可以更改 diameter 屬性以使用千米而不是英里: var merkur:Object = mercury;merkur.diameter = 4878; / in kilometerstrace(mercury.diameter); / 4878另請參見 = (equality) attribute identifier運算符  用法 my

35、XML.attributeName 語言版本: ActionScript 3.0運行時版本: Flash Player 9標(biāo)識 XML 或 XMLList 對象的屬性。例如,myXML.id 標(biāo)識 myXML XML 對象的名為 id 的屬性。還可以使用以下語法訪問屬性:myXML.attribute("id")、myXML"id" 和 myXML."id"。建議使用 myXML.id 語法。若要返回所有屬性名的 XMLList 對象,請使用 *。若要返回名稱與 ActionScript 保留字相匹配的屬性,請使用

36、 attribute() 方法,而不要使用 運算符。 操作數(shù) attributeName:* 屬性的名稱。 示例如何使用示例 第一個示例說明如何使用 (at 符號)運算符來標(biāo)識元素的屬性: var myXML:XML = <item id = "42"> <catalogName>Presta tube</catalogName> <price>3.99</price> </item>trace(myXML.id); / 42下一個示例返回所有的屬性名: var xml:XML =<example

37、 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(xml2i); / xml trace(xml2i.nodeKind(); / attribute trace((); / id and color 下一個示例返回名稱與 ActionScript 中的保留字相

38、匹配的屬性。不能使用 xml.class 語法(因為 class 是 ActionScript 中的保留字)。需要使用 xml.attribute("class") 語法: var xml:XML = <example class='123'/>trace(xml.attribute("class");另請參見 XML classXMLList classXML.attribute()XML.attributes()& bitwise AND運算符  用法 expression1 & exp

39、ression2語言版本: ActionScript 3.0運行時版本: Flash Player 9將 expression1 和 expression2 轉(zhuǎn)換為 32 位無符號整數(shù),并對整數(shù)參數(shù)的每一位執(zhí)行布爾 AND 運算。浮點數(shù)通過舍去小數(shù)點后面的所有位來轉(zhuǎn)換為整數(shù)。結(jié)果是一個新的 32 位整數(shù)。 正整數(shù)可轉(zhuǎn)換為無符號的十六進(jìn)制值,其最大值為 4294967295 或 0xFFFFFFFF;轉(zhuǎn)換大于最大值的值時,會舍去其最高有效位,因此該值仍保持為 32 位。負(fù)數(shù)通過 2 的補碼標(biāo)記轉(zhuǎn)換為無符號的十六進(jìn)制值,其最小值為 -2147483648 或 0x8000000

40、00;小于最小值的數(shù)可轉(zhuǎn)換為精度更高的 2 的補碼,然后舍去最高有效位。 由于結(jié)果被解釋為 32 位 2 的補碼數(shù),因此結(jié)果將是 -2147483648 到 2147483647 范圍中的一個整數(shù)。 操作數(shù) expression1:Number 一個數(shù)字或計算結(jié)果為數(shù)字的表達(dá)式。 expression2:Number 一個數(shù)字或計算結(jié)果為數(shù)字的表達(dá)式。 結(jié)果 int 按位運算的結(jié)果。示例如何使用示例 下例通過比較數(shù)字的位表示形式來針對 13(二進(jìn)制的 1101)和 11(二進(jìn)制的 1011)執(zhí)行按位 AND 運算。所得到的整數(shù)由一系列位組成,只有當(dāng)位于同一位置的操作數(shù)的位都是 1 時,所得到整

41、數(shù)中的每一位才設(shè)置為 1。 var insert:Number = 13; var update:Number = 11; trace(insert & update); / 9 (or 1001 binary) 對 13(二進(jìn)制的 1101)11(二進(jìn)制的 1011)執(zhí)行按位 AND 的結(jié)果是 9,因為這兩個數(shù)字中只有第一個和最后一個位置具有數(shù)字 1。 1101& 1011 - 1001下例說明返回值轉(zhuǎn)換的行為: trace(0xFFFFFFFF); / 4294967295 trace(0xFFFFFFFF & 0xFFFFFFFF); / -1 trace(0xF

42、FFFFFFF & -1); / -1 trace(4294967295 & -1); / -1 trace(4294967295 & 4294967295); / -1 另請參見 &= (bitwise AND assignment) (bitwise NOT)| (bitwise OR)|= (bitwise OR assignment) (bitwise XOR)= (bitwise XOR assignment)&= bitwise AND assignment運算符  用法 expression1 &= expres

43、sion2語言版本: ActionScript 3.0運行時版本: Flash Player 9對 expression1 賦予 expression1 & expression2 的值。例如,以下兩個表達(dá)式是等效的: x &= y; x = x & y; 操作數(shù) expression1:Number 一個數(shù)字或計算結(jié)果為數(shù)字的表達(dá)式。 expression2:Number 一個數(shù)字或計算結(jié)果為數(shù)字的表達(dá)式。 結(jié)果 int expression1 & expression2 的值。示例如何使用示例 下例將值 9 賦予 x: var x:Num

44、ber = 15; var y:Number = 9; trace(x &= y); / 9 另請參見 & (bitwise AND) (bitwise NOT)| (bitwise OR)|= (bitwise OR assignment) (bitwise XOR)= (bitwise XOR assignment)<< bitwise left shift運算符  用法 expression1 << shiftCount語言版本: ActionScript 3.0運行時版本: Flash Player 9將

45、expression1 和 shiftCount 轉(zhuǎn)換為 32 位整數(shù),并將 expression1 中的所有位向左移動由 shiftCount 轉(zhuǎn)換所得到的整數(shù)指定的位數(shù)。因執(zhí)行此運算而空出的位的位置將用 0 填充,移出左端的位將被舍去。將一個值向左側(cè)移動一位與這個值乘以 2 等效。 浮點數(shù)通過舍去小數(shù)點后面的所有位來轉(zhuǎn)換為整數(shù)。正整數(shù)可轉(zhuǎn)換為無符號的十六進(jìn)制值,其最大值為 4294967295 或 0xFFFFFFFF;轉(zhuǎn)換大于最大值的值時,會舍去其最高有效位,因此該值仍保持為 32 位。負(fù)數(shù)通過 2 的補碼標(biāo)記轉(zhuǎn)換為無符號的十六進(jìn)制值,其最小值為 -2147483648 或 0x8000

46、00000;小于最小值的數(shù)可轉(zhuǎn)換為精度更高的 2 的補碼,然后舍去最高有效位。 由于結(jié)果被解釋為 32 位 2 的補碼數(shù),因此結(jié)果將是 -2147483648 到 2147483647 范圍中的一個整數(shù)。 如果結(jié)果是負(fù)整數(shù),那么,當(dāng)您試圖將結(jié)果賦予類型為 uint 的變量時,會出現(xiàn)運行時錯誤。盡管 ActionScript 沒有“無符號按位向左移位”運算符,但是,您可以通過使用 uint(expression1 << shiftCount) 來獲得同樣的效果,并避免出現(xiàn)運行時錯誤:var num1:uint = 0xFF;var num2:uint = uint(num1 <

47、< 24); / uint() prevents runtime error操作數(shù) expression1:Number 要向左移位的數(shù)字或表達(dá)式。 shiftCount:Number 轉(zhuǎn)換為介于 0 和 31 之間整數(shù)的數(shù)字或表達(dá)式。 結(jié)果 int 按位運算的結(jié)果。示例如何使用示例 在下例中,整數(shù) 1 向左移 10 位: x = 1 << 10二進(jìn)制的 00000000001 << 10 decimal-在下例中,整數(shù) 7 向左移 8 位:x = 7 << 8二進(jìn)制的 00000000111 << 8 decimal-下面的 trace

48、語句說明已經(jīng)將位向左移三位: / 1 binary = 0001 / 8 binary = 1000 trace(1 << 3); / 8 另請參見 <<= (bitwise left shift and assignment)>> (bitwise right shift)>>= (bitwise right shift and assignment)>>> (bitwise unsigned right shift)>>>= (bitwise unsigned right shift and assignm

49、ent)<<= bitwise left shift and assignment運算符  用法 expression1 <<= expression2語言版本: ActionScript 3.0運行時版本: Flash Player 9執(zhí)行按位向左移位 (<<=) 運算,并將內(nèi)容作為結(jié)果存儲在 expression1 中。下面的兩個表達(dá)式是等效的:A <<= BA = (A << B)操作數(shù) expression1:Number 要向左移位的數(shù)字或表達(dá)式。 expression2:Number

50、 轉(zhuǎn)換為介于 0 和 31 之間整數(shù)的數(shù)字或表達(dá)式。 結(jié)果 int 按位運算的結(jié)果。示例如何使用示例 在下例中,使用按位向左移位并賦值運算符 (<<=) 將所有位向左移一位: 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 另請參見 << (bitwise left shift)>> (bitwise right shift)>

51、>= (bitwise right shift and assignment) bitwise NOT運算符  用法 expression語言版本: ActionScript 3.0運行時版本: Flash Player 9將 expression 轉(zhuǎn)換為一個 32 位帶符號整數(shù),然后按位對 1 求補。即,將結(jié)果中為 0 的每一位設(shè)置為 1,并將結(jié)果中為 1 的每一位設(shè)置為 0。結(jié)果是一個帶符號的 32 位整數(shù)。此運算符也稱為對一求補運算符或按位求補運算符。 例如,十六進(jìn)制值 0x7777 表示為二進(jìn)制數(shù):該十六進(jìn)制值 0x7777 的按位取反的二

52、進(jìn)制數(shù)為:在十六進(jìn)制中,它是 0x8888。因此,0x7777 就是 0x8888。按位運算符的最常見用法是提供特征位(為每一位填充一個布爾值)。 浮點數(shù)通過舍去小數(shù)點后面的所有位來轉(zhuǎn)換為整數(shù)。正整數(shù)可轉(zhuǎn)換為無符號的十六進(jìn)制值,其最大值為 4294967295 或 0xFFFFFFFF;轉(zhuǎn)換大于最大值的值時,會舍去其最高有效位,因此該值仍保持為 32 位。負(fù)數(shù)通過 2 的補碼標(biāo)記轉(zhuǎn)換為無符號的十六進(jìn)制值,其最小值為 -2147483648 或 0x800000000;小于最小值的數(shù)可轉(zhuǎn)換為精度更高的 2 的補碼,然后舍去最高有效位。 由于結(jié)果被解釋為 32 位 2 的補碼數(shù),因此結(jié)果將是 -2

53、147483648 到 2147483647 范圍中的一個整數(shù)。 操作數(shù) expression:Number 要轉(zhuǎn)換的數(shù)字。 結(jié)果 int 按位運算的結(jié)果。示例如何使用示例 下例說明如何將按位 NOT () 運算符與特征位結(jié)合使用: 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 b

54、itwise 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 follo

55、wing code constructs the mask and performs the bitwise AND: */ flags &= ReadOnlyFlag; trace(flags); / 0 1 0 另請參見 & (bitwise AND)&= (bitwise AND assignment)| (bitwise OR)|= (bitwise OR assignment) (bitwise XOR)= (bitwise XOR assignment)| bitwise OR運算符  用法 expression1 | expressio

56、n2語言版本: ActionScript 3.0運行時版本: Flash Player 9將 expression1 和 expression2 轉(zhuǎn)換為 32 位無符號整數(shù),并在 expression1 或 expression2 的對應(yīng)位為 1 的每個位的位置上放置 1。 浮點數(shù)通過舍去小數(shù)點后面的所有位來轉(zhuǎn)換為整數(shù)。正整數(shù)可轉(zhuǎn)換為無符號的十六進(jìn)制值,其最大值為 4294967295 或 0xFFFFFFFF;轉(zhuǎn)換大于最大值的值時,會舍去其最高有效位,因此該值仍保持為 32 位。負(fù)數(shù)通過 2 的補碼標(biāo)記轉(zhuǎn)換為無符號的十六進(jìn)制值,其最小值為 -2147483648 或 0x

57、800000000;小于最小值的數(shù)可轉(zhuǎn)換為精度更高的 2 的補碼,然后舍去最高有效位。 由于結(jié)果被解釋為 32 位 2 的補碼數(shù),因此結(jié)果將是 -2147483648 到 2147483647 范圍中的一個整數(shù)。 操作數(shù) expression1:Number 一個數(shù)字。 expression2:Number 一個數(shù)字。 結(jié)果 int 按位運算的結(jié)果。示例如何使用示例 下面是一個按位 OR (|) 運算的示例: / 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)與 |(邏輯 OR)混淆。 另請參見 & (b

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論