Flex 之顶级常量和函数

    也许有人和我一样学Flex没有系统看过全局的常量和方法,自己再过一次,从帮助文档摘抄出来。

全局常量

Infinity 常量

public const Infinity:Number

正无穷大,表示正 Infinity 的特殊值。此常数的值与 Number.POSITIVE_INFINITY 相同。

示例 

除以 0 的结果为  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 的结果为 Infinity。如果除数小于 0,除以 0 的结果为 -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 进行比较时,它们的比较结果为不相等。


示例 

在以下示例中,将声明(但不初始化)一个无类型变量  myVarmyVar 的值为  undefined,因为该变量是一个无类型变量。无论变量是没有类型注释,还是使用特殊的 (*) 无类型注释 ( var myVar:*;),都是如此。
// trace value of untyped and uninitialized variable
var myVar;
trace(myVar); // undefined



该规则同样适用于动态对象的未初始化属性。例如,给定实例  obj(属于动态类  A), obj.propNameobj 实例的未初始化属性)的值为  undefined
dynamic class A {}
var obj:A = new A()

// trace undefined property of obj
trace(obj.propName); // undefined

全局方法 


Array () 函数
public function Array(... args):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 () 函数  

public function Boolean(expression:Object):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 () 函数  
public function decodeURI(uri:String):String

将已编码的 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 () 函数  
public function decodeURIComponent(uri:String):String

将已编码的 URI 组件解码为字符串。返回一个字符串,其中以前由 encodeURIComponent 函数转义的所有字符都还原为它们的未编码表示形式。

此函数与 decodeURI() 函数不同,它仅适用于 URI 字符串的一部分(称为 URI 组件)。URI 组件是指出现在某些特殊字符之间的任何文本,这些特殊字符称为组件分隔符 (: / ; and ? ). “http”和“www.adobe.com”是常见的 URI 组件示例。

此函数与 decodeURI() 的另一个重要区别是:由于此函数假定它处理的是 URI 组件,因此它会将表示特殊分隔符字符 (; / ? : @ & = + $ , #) 的转义序列视为应进行解码的常规文本。

参数

  uri:String — 一个使用 encodeURIComponent 函数编码的字符串。

返回
  String — 一个字符串,其中以前由 encodeURIComponent 函数转义的所有字符都还原为它们的未转义表示形式。  


encodeURI () 函数  
public function encodeURI(uri:String):String

将字符串编码为有效的 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 () 函数  
public function encodeURIComponent(uri:String):String

将字符串编码为有效的 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 () 函数  
public function escape(str:String):String

将参数转换为字符串,并以 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 编码的字符串。 


int () 函数  
public function int(value:Number):int

将给定数字值转换成整数值。从小数点处截断十进制值。

参数

  value:Number — 要转换成整数的值。

返回
  int — 转换后的整数值。  

isFinite () 函数  
public function isFinite(num:Number):Boolean

如果该值为有限数,则返回 true,如果该值为 Infinity 或 -Infinity,则返回 false。出现的 Infinity 或 -Infinity 指示存在错误的数学条件,例如除以 0。

参数

  num:Number — 要计算为有限数或无穷大的数字。

返回
  Boolean — 如果结果为有限数,则返回 true;如果为无穷大或负无穷大,则返回 false。  


isNaN () 函数  
public function isNaN(num:Number):Boolean

如果该值为 NaN(非数字),则返回 trueisNaN() 函数可用于检查一个数学表达式是否成功地计算为一个数字。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

isXMLName () 函数  
public function isXMLName(str:String):Boolean



Number () 函数  
public function Number(expression:Object):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 () 函数  
public function Object(value:Object):Object

在 ActionScript 3.0 中,每个值都是一个对象,这意味着对某个值调用 Object() 会返回该值。

参数

  value:Object — 要转换的对象、数字、字符串或布尔值。

返回
  Object — 由 value 参数指定的值。 


parseFloat () 函数  
public function parseFloat(str:String):Number

将字符串转换为浮点数。此函数读取或分析 并返回字符串中的数字,直到此函数遇到不是初始数字一部分的字符。如果字符串不是以可以分析的数字开头,parseFloat() 将返回 NaN。有效整数前面的空白将被忽略,有效整数后面的非数字字符也将被忽略。

参数

  str:String — 要读取并转换为浮点数的字符串。

返回
  Number — 一个数字或 NaN(非数字)。 


parseInt () 函数  
public function parseInt(str:String, radix:uint = 0):Number

将字符串转换为整数。如果参数中指定的字符串不能转换为数字,则此函数返回 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()函数 
public function String(expression:Object):String

返回指定参数的字符串表示形式。

下表显示各种输入类型的结果:

输入类型/值返回值
undefinedundefined
null"null"
true"true"
false"false"
NaN"NaN"
StringString
objectObject.toString()
Number数字的字符串表示形式

参数

 expression:Object — 要转换为字符串的表达式。

返回
 String — 为 expression 参数传递的值的字符串表示形式。 

trace()函数 
public function trace(... arguments):void

调试时显示表达式或写入日志文件。单个跟踪语句可支持多个参数。如果跟踪语句中的任何参数包含 String 之外的数据类型,则跟踪函数将调用与该数据类型关联的 toString() 方法。例如,如果该参数是一个布尔值,则跟踪函数将调用 Boolean.toString() 并显示返回值。

参数

 ... arguments — 要计算的一个或多个(逗号分隔)表达式。对于多个表达式,输出中每个表达式之间都将插入一个空格。


示例

下面的示例使用类 TraceExample 来演示如何使用 trace() 方法输出简单字符串。通常情况下,消息将输出到“调试”控制台。 
package {
    import flash.display.Sprite;

    public class TraceExample extends Sprite {

        public function TraceExample() {
            trace("Hello World");
        }
    }
}

uint()函数 
public function uint(value:Number):uint

将给定数字值转换成无符号整数值。从小数点处截断十进制值。

下表描述 uint() 针对各种输入类型和值的返回值。

输入类型/值示例返回值
undefineduint(undefined)0
nulluint(null)0
0uint(0)0
NaNuint(NaN)0
正浮点数uint(5.31)截断的无符号整数(例如,5
负浮点数uint(-5.78)截断为整数,然后应用负整数规则
负整数uint(-5)uint.MAX_VALUE 与负整数的和(例如,uint.MAX_VALUE + (-5)
trueuint(true)1
falseuint(false)0
空字符串uint("")0
转换为数字的字符串uint("5")数字
没有转换为数字的字符串uint("5a")0

参数

 value:Number — 要转换成整数的值。

返回
 uint — 转换后的整数值。  

示例

    trace(uint(-5)); //4294967291
    trace(uint({})); //0


unescape() 函数 
public function unescape(str:String):String

将参数 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 对象,它包含转换后的对象中存放的值。 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值