也许有人和我一样学Flex没有系统看过全局的常量和方法,自己再过一次,从帮助文档摘抄出来。
全局常量
Infinity | 常量 |
public const Infinity:Number
正无穷大,表示正 Infinity
的特殊值。此常数的值与 Number.POSITIVE_INFINITY
相同。
示例
Infinity
(仅当除数为正数时)。
trace(0 / 0); // NaN
trace(7 / 0); // Infinity
trace(-7 / 0); // -Infinity
-Infinity | 常量 |
public const -Infinity:Number
负无穷大,表示负 Infinity
的特殊值。此常数的值与 Number.NEGATIVE_INFINITY
相同。
NaN | 常量 |
public const NaN:Number
Number 数据类型的一个特殊成员,用来表示“非数字”(NaN
) 值。当数学表达式生成的值无法表示为数字时,结果为 NaN
。下表描述了生成 NaN
的常用表达式。
- 除以 0 可生成
NaN
(仅当除数也为 0 时)。如果除数大于 0,除以 0 的结果为
。如果除数小于 0,除以 0 的结果为Infinity
;-Infinity
- 负数的平方根;
- 在有效范围 0 到 1 之外的数字的反正弦值;
Infinity
减去Infinity
;Infinity
或-Infinity
除以Infinity
或-Infinity
;Infinity
或-Infinity
乘以 0;
NaN
值不是 int 或 uint 数据类型的成员。
NaN
值不被视为等于任何其它值(包括 NaN
),因而无法使用等于运算符测试一个表达式是否为 NaN
。若要确定一个数字是否为 NaN
函数,请使用 isNaN()
。
undefined | 常量 |
public const undefined:*
一个适用于尚未初始化的无类型变量或未初始化的动态对象属性的特殊值。在 ActionScript 3.0 中,只有无类型变量才能采用值 undefined
,这在 ActionScript 1.0 和 ActionScript 2.0 中并非如此。例如,以下两个变量都是 undefined
,因为它们都未类型化或初始化:
var foo;
var bar:*;
undefined
值还适用于动态对象的未初始化或未定义的属性。例如,如果某对象是 Object 类的一个实例,则除非向该属性赋予值,否则动态添加的任何属性的值将为undefined
。
将 undefined
用于不同的函数时,结果也不相同:
- 由
String(undefined)
返回的值为"undefined"
(undefined
转换为字符串)。 - 由
Number(undefined)
返回的值为NaN
。 - 由
int(undefined)
和uint(undefined)
返回的值为 0。 - 由
Object(undefined)
返回的值为新的 Object 实例。 - 向类型变量赋予值
undefined
时,该值将转换为该数据类型的默认值。
不要混淆 undefined
和 null
。使用等于运算符 (==
) 对 null
和 undefined
进行比较时,它们的比较结果为相等。但是,使用全等运算符 (===
) 对 null
和 undefined
进行比较时,它们的比较结果为不相等。
示例
myVar
。
myVar
的值为
undefined
,因为该变量是一个无类型变量。无论变量是没有类型注释,还是使用特殊的 (*) 无类型注释 (
var myVar:*;
),都是如此。
// trace value of untyped and uninitialized variable
var myVar;
trace(myVar); // undefined
obj
(属于动态类
A
),
obj.propName
(
obj
实例的未初始化属性)的值为
undefined
。
dynamic class A {}
var obj:A = new A()
// trace undefined property of obj
trace(obj.propName); // undefined
全局方法
Array | () | 函数 |
创建一个新数组。可以是长度为 0 或大于 0 的数组,也可以是由一组指定元素(可能具有不同的数据类型)填充的数组。所使用参数的数目和数据类型决定了返回数组的内容。
- 在不使用参数的情况下调用
Array()
会返回空的数组。 - 使用单个整数参数调用
Array()
可返回具有指定长度的数组,但数组元素具有未定义的值。 - 使用一组指定值调用
Array()
将返回由包含各个指定值的元素构成的数组。
Array()
函数类似于使用 Array 类构造函数创建数组。
当参数不是原始值时,应使用 as
运算符进行显式类型转换或类型转换。有关详细信息,请参阅本条目的“示例”部分。
参数
... args — 不传递参数可以创建空数组,传递单个整数参数可以创建具有特定长度的数组,传递一系列由逗号分隔的具有各种类型的值可创建使用这些值填充的数组。 |
返回
Array — 长度为 0 或大于 0 的数组。 |
示例
Array()
函数在参数不是原始值时的行为。转换为数组的一种常见用法是转换以数组格式存储值的 Object 实例。如果调用
Array()
时使用了
Object
类型或其它任何非原始数据类型的参数,则对对象的引用将存储在新数组的元素中。也就是说,如果传递的唯一参数是一个对象,则对该对象的引用将成为新数组的第一个元素。
var obj:Object = [ "a", "b", "c" ];
var newArray:Array = Array( obj );
trace(newArray == obj); // false
trace(newArray[0] == obj); // true
trace(newArray[0][0]) // a
trace(newArray[0][1]) // b
trace(newArray[0][2]) // c
obj
转换为数组,请使用
as
运算符,它将在
obj
为有效数组的情况下返回数组引用,否则返回
null
:
var obj:Object = [ "a", "b", "c" ];
var newArray:Array = obj as Array;
trace(newArray == obj); // true
trace(newArray[0]); // a
trace(newArray[1]); // b
trace(newArray[2]); // c
Boolean | () | 函数 |
将 expression
参数转换为布尔值并返回该值。
返回值取决于参数的数据类型和值,如下表所述:
输入值 | 示例 | 返回值 |
---|---|---|
0 | Boolean(0) | false |
NaN | Boolean(NaN) | false |
数字(非 0 或 NaN ) | Boolean(4) | true |
空字符串 | Boolean("") | false |
非空字符串 | Boolean("6") | true |
null | Boolean(null) | false |
undefined | Boolean(undefined) | false |
Object 类的实例 | Boolean(new Object()) | true |
无参数 | Boolean() | false |
与 ActionScript 的早期版本不同,Boolean()
函数与 Boolean 类构造函数返回相同的结果。
参数
expression:Object — 要转换为 Boolean 的表达式或对象。 |
返回
Boolean — 转换为 Boolean 的结果。 |
Date | () | 函数 |
public function Date():String
返回当前星期值、日期值、时间和时区的字符串表示形式。输出的日期格式为:
Day Mon Date HH:MM:SS TZD YYYY
例如:
Wed Apr 12 15:30:17 GMT-0700 2006
若要将某个值转换为 Date 类型,请使用 x as Date
代替 Date(x)
。
返回
String — 作为 String 数据类型的当前日期。Date() 的返回值与 Date.toString() 的返回值相同。 |
decodeURI | () | 函数 |
将已编码的 URI 解码为字符串。返回一个字符串,其中以前由 encodeURI
函数编码的所有字符都还原为它们的未编码表示形式。
下表显示不会 由 decodeURI
函数解码为字符的转义序列的集合。使用 decodeURIComponent()
可解码此表中的转义序列。
未解码的转义序列 | 字符等效形式 |
---|---|
%23 | # |
%24 | $ |
%26 | & |
%2B | + |
%2C | , |
%2F | / |
%3A | : |
%3B | ; |
%3D | = |
%3F | ? |
%40 | @ |
参数
uri:String — 一个使用 encodeURI 函数编码的字符串。 |
返回
String — 一个字符串,其中以前由 encodeURI 函数转义的所有字符都还原为它们的未转义表示形式。 |
package {
import flash.display.Sprite;
public class DecodeURIExample extends Sprite {
public function DecodeURIExample() {
var uri:String = "http://www.example.com/application.jsp?user=<user name='some user'></user>";
var encoded:String = encodeURI(uri);
var decoded:String = decodeURI(encoded);
trace(uri); // http://www.example.com/application.jsp?user=<user name='some user'></user>
trace(encoded); // http://www.example.com/application.jsp?user=%3Cuser%20name='some%20user'%3E%3C/user%3E
trace(decoded); // http://www.example.com/application.jsp?user=<user name='some user'></user>
}
}
}
decodeURIComponent | () | 函数 |
将已编码的 URI 组件解码为字符串。返回一个字符串,其中以前由 encodeURIComponent
函数转义的所有字符都还原为它们的未编码表示形式。
此函数与 decodeURI()
函数不同,它仅适用于 URI 字符串的一部分(称为 URI 组件)。URI 组件是指出现在某些特殊字符之间的任何文本,这些特殊字符称为组件分隔符 (: / ; and ?
). “http”和“www.adobe.com”是常见的 URI 组件示例。
此函数与 decodeURI()
的另一个重要区别是:由于此函数假定它处理的是 URI 组件,因此它会将表示特殊分隔符字符 (; / ? : @ & = + $ , #
) 的转义序列视为应进行解码的常规文本。
参数
uri:String — 一个使用 encodeURIComponent 函数编码的字符串。 |
返回
String — 一个字符串,其中以前由 encodeURIComponent 函数转义的所有字符都还原为它们的未转义表示形式。 |
encodeURI | () | 函数 |
将字符串编码为有效的 URI(统一资源标识符)。将完整的 URI 转换为一个字符串,其中除属于一小组基本字符的字符外,其它所有字符都编码为 UTF-8 转义序列。
下表显示不会 由 encodeURI
函数转换为 UTF-8 转义序列的基本字符的整个集合。
未编码的字符 |
---|
0 1 2 3 4 5 6 7 8 9 |
a b c d e f g h i j k l m n o p q r s t u v w x y z |
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z |
; / ? : @ & = + $ , # |
- _ . ! ~ * ' ( ) |
参数
uri:String — 一个表示完整 URI 的字符串。 |
返回
String — 一个字符串,其中某些字符已编码为 UTF-8 转义序列。 |
示例
package {
import flash.display.Sprite;
public class EncodeURIExample extends Sprite {
public function EncodeURIExample() {
var uri:String = "http://www.example.com/application.jsp?user=<user name='some user'></user>";
var encoded:String = encodeURI(uri);
var decoded:String = decodeURI(encoded);
trace(uri); // http://www.example.com/application.jsp?user=<user name='some user'></user>
trace(encoded); // http://www.example.com/application.jsp?user=%3Cuser%20name='some%20user'%3E%3C/user%3E
trace(decoded); // http://www.example.com/application.jsp?user=<user name='some user'></user>
}
}
}
encodeURIComponent | () | 函数 |
将字符串编码为有效的 URI 组件。将 URI 的子字符串转换为以下字符串:除属于非常小的一组基本字符的字符外,其它所有字符都编码为 UTF-8 转义序列。
encodeURIComponent()
函数与 encodeURI()
函数不同,它仅适用于 URI 字符串的一部分(称为 URI 组件)。URI 组件是指出现在某些特殊字符之间的任何文本,这些特殊字符称为组件分隔符 (: / ; and ?
). “http”和“www.adobe.com”是常见的 URI 组件示例。
此函数与 encodeURI()
的另一个重要区别是:由于此函数假定它处理的是 URI 组件,因此它会将特殊分隔符字符 (; / ? : @ & = + $ , #
) 视为应进行编码的常规文本。
下表显示不会 由 encodeURIComponent
函数转换为 UTF-8 转义序列的所有字符。
未编码的字符 |
---|
0 1 2 3 4 5 6 7 8 9 |
a b c d e f g h i j k l m n o p q r s t u v w x y z |
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z |
- _ . ! ~ * ' ( ) |
参数
uri:String — 一个表示完整 URI 的字符串。 |
返回
String — 一个字符串,其中某些字符已编码为 UTF-8 转义序列。 |
escape | () | 函数 |
将参数转换为字符串,并以 URL 编码格式对其进行编码,在这种格式中,大多数非字母数字的字符都替换为 %
十六进制序列。当用于 URL 编码的字符串时,百分号 (%
) 用于引入转义字符,不与模运算符 (%
) 等效。
下表显示不会 由 escape()
函数转换为转义序列的所有字符。
未编码的字符 |
---|
0 1 2 3 4 5 6 7 8 9 |
a b c d e f g h i j k l m n o p q r s t u v w x y z |
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z |
@ - _ . * + / |
参数
str:String — 要转换为字符串并以 URL 编码格式进行编码的表达式。 |
返回
String — 一个 URL 编码的字符串。 |
将给定数字值转换成整数值。从小数点处截断十进制值。
参数
value:Number — 要转换成整数的值。 |
返回
int — 转换后的整数值。 |
isFinite | () | 函数 |
如果该值为有限数,则返回 true
,如果该值为 Infinity
或 -Infinity
,则返回 false
。出现的 Infinity
或 -Infinity
指示存在错误的数学条件,例如除以 0。
参数
num:Number — 要计算为有限数或无穷大的数字。 |
返回
Boolean — 如果结果为有限数,则返回 true ;如果为无穷大或负无穷大,则返回 false 。 |
isNaN | () | 函数 |
如果该值为 NaN
(非数字),则返回 true
。isNaN()
函数可用于检查一个数学表达式是否成功地计算为一个数字。NaN
值是 Number 数据类型的特殊成员,用来表示“非数字”值。
注意:NaN
值不是 int 或 uint 数据类型的成员。
下表描述 isNaN()
针对各种输入类型和值的返回值。
输入类型/值 | 示例 | 返回值 |
---|---|---|
0 除以 0 | isNaN(0/0) | true |
非零数字除以 0 | isNaN(5/0) | false |
负数的平方根 | isNaN(Math.sqrt(-1)) | true |
大于 1 或小于 0 的数字的反正弦值 | isNaN(Math.asin(2)) | true |
可以转换为 Number 的字符串 | isNaN("5") | false |
无法转换为 Number 的字符串 | isNaN("5a") | true |
参数
num:Number — 要计算的数值或数学表达式。 |
返回
Boolean — 如果该值为 NaN (非数字),则返回 true ;否则返回 false 。 |
Number | () | 函数 |
将给定值转换成数字值。下表显示各种输入类型的结果:
输入类型/值 | 示例 | 返回值 |
---|---|---|
undefined | Number(undefined) | NaN |
null | Number(null) | 0 |
true | Number(true) | 1 |
false | Number(false) | 0 |
NaN | Number(NaN) | NaN |
空字符串 | Number("") | 0 |
转换为数字的字符串 | Number("5") | 数字(例如 5 ) |
没有转换为数字的字符串 | Number("5a") | NaN |
参数
expression:Object — 要转换为数字的值。 |
返回
Number — 转换后的数值。 |
Object | () | 函数 |
在 ActionScript 3.0 中,每个值都是一个对象,这意味着对某个值调用 Object()
会返回该值。
参数
value:Object — 要转换的对象、数字、字符串或布尔值。 |
返回
Object — 由 value 参数指定的值。 |
parseFloat | () | 函数 |
将字符串转换为浮点数。此函数读取或分析 并返回字符串中的数字,直到此函数遇到不是初始数字一部分的字符。如果字符串不是以可以分析的数字开头,parseFloat()
将返回 NaN
。有效整数前面的空白将被忽略,有效整数后面的非数字字符也将被忽略。
参数
str:String — 要读取并转换为浮点数的字符串。 |
返回
Number — 一个数字或 NaN (非数字)。 |
parseInt | () | 函数 |
将字符串转换为整数。如果参数中指定的字符串不能转换为数字,则此函数返回 NaN
。以 0x 开头的字符串被解释为十六进制数字。与 ActionScript 的早期版本不同,以 0 开头的整数不会被解释为八进制数字。必须指定 8 的基数才能解释为八进制数字。有效整数前面的空白和 0 以及后面的非数字字符将被忽略。
参数
str:String — 要转换为整数的字符串。 | |
radix:uint (default = 0 ) — 表示要分析的数字的基数(基)的整数。合法值为 2 到 36。 |
返回
Number — 一个数字或 NaN (非数字)。 |
// 16进制的30被转换为10进制的48
trace(parseInt("30", 16)); //48
String | () | 函数 |
返回指定参数的字符串表示形式。
下表显示各种输入类型的结果:
输入类型/值 | 返回值 |
---|---|
undefined | undefined |
null | "null" |
true | "true" |
false | "false" |
NaN | "NaN" |
String | String |
object | Object.toString() |
Number | 数字的字符串表示形式 |
参数
expression:Object — 要转换为字符串的表达式。 |
String — 为 expression 参数传递的值的字符串表示形式。 |
trace | () | 函数 |
调试时显示表达式或写入日志文件。单个跟踪语句可支持多个参数。如果跟踪语句中的任何参数包含 String 之外的数据类型,则跟踪函数将调用与该数据类型关联的 toString()
方法。例如,如果该参数是一个布尔值,则跟踪函数将调用 Boolean.toString()
并显示返回值。
参数
... arguments — 要计算的一个或多个(逗号分隔)表达式。对于多个表达式,输出中每个表达式之间都将插入一个空格。 |
示例
TraceExample
来演示如何使用
trace()
方法输出简单字符串。通常情况下,消息将输出到“调试”控制台。
package {
import flash.display.Sprite;
public class TraceExample extends Sprite {
public function TraceExample() {
trace("Hello World");
}
}
}
uint | () | 函数 |
将给定数字值转换成无符号整数值。从小数点处截断十进制值。
下表描述 uint()
针对各种输入类型和值的返回值。
输入类型/值 | 示例 | 返回值 |
---|---|---|
undefined | uint(undefined) | 0 |
null | uint(null) | 0 |
0 | uint(0) | 0 |
NaN | uint(NaN) | 0 |
正浮点数 | uint(5.31) | 截断的无符号整数(例如,5 ) |
负浮点数 | uint(-5.78) | 截断为整数,然后应用负整数规则 |
负整数 | uint(-5) | uint.MAX_VALUE 与负整数的和(例如,uint.MAX_VALUE + (-5) ) |
true | uint(true) | 1 |
false | uint(false) | 0 |
空字符串 | uint("") | 0 |
转换为数字的字符串 | uint("5") | 数字 |
没有转换为数字的字符串 | uint("5a") | 0 |
参数
value:Number — 要转换成整数的值。 |
uint — 转换后的整数值。 |
trace(uint(-5)); //4294967291
trace(uint({})); //0
将参数 str
作为字符串计算,从 URL 编码格式解码该字符串(将所有十六进制序列转换成 ASCII 字符),并返回该字符串。
参数
str:String — 要转义的十六进制序列字符串。 |
返回
String — 对 URL 编码的参数进行解码所得到的字符串。 |
XML | () | 函数 |
public function XML(expression:Object):XML
将对象转换成 XML 对象。
下表介绍各种输入类型的返回值。
参数类型 | 返回值 |
---|---|
Boolean | 首先将值转换成一个字符串,然后转换成一个 XML 对象。 |
Null | 发生运行时错误(TypeError 异常)。 |
Number | 首先将值转换成一个字符串,然后转换成一个 XML 对象。 |
object | 仅当值为字符串值、数值或布尔值时才转换为 XML。否则会发生运行时错误(TypeError 异常)。 |
String | 转换为 XML 的值。 |
未定义 | 发生运行时错误(TypeError 异常)。 |
XML | 返回未修改的输入值。 |
XMLList | 仅当 XMLList 对象只包含 XML 类型的某个属性时才返回 XML 对象。否则会发生运行时错误(TypeError 异常)。 |
参数
expression:Object — 要转换为 XML 的对象。 |
返回
XML — 一个 XML 对象,它包含转换后的对象中存放的值。 |
XMLList | () | 函数 |
public function XMLList(expression:Object):XMLList
将某对象转换成 XMLList 对象。
下表介绍各种输入类型的返回值。
参数类型 | 返回值 |
---|---|
Boolean | 首先将值转换成一个字符串,然后转换成一个 XMLList 对象。 |
Null | 发生运行时错误(TypeError 异常)。 |
Number | 首先将值转换成一个字符串,然后转换成一个 XMLList 对象。 |
object | 仅当值为字符串值、数值或布尔值时才转换为 XMLList。否则会发生运行时错误(TypeError 异常)。 |
String | 将值转换成一个 XMLList 对象。 |
未定义 | 发生运行时错误(TypeError 异常)。 |
XML | 将值转换成一个 XMLList 对象。 |
XMLList | 返回未修改的输入值。 |
参数
expression:Object — 要转换为 XMLList 对象的对象。 |
返回
XMLList — 一个 XMLList 对象,它包含转换后的对象中存放的值。 |