2009年5月19号
FLEX学习笔记(一)———ACTIONSCRIPT3.0基础【2】
ACTIONSCRIPT3.0语法知识
1、包的顶级只允许使用两个访问说明符:public和internal
2、Actionscript3.0不支持嵌套和私有类
3、命名空间:
属性和方法的名称总是包含两个部分:标示符和命名空间
标示符通常被视为名称
命名空间:public,private,protected,internal内置的命名空间,也可以使用自定义命名空间
使用命名空间应遵循三个基本步骤:
【1】必须使用namespace关键字定义命名空间,如:namespace sino1;
【2】在属性或方法声明中,使用命名空间(而非访问控制符)来应用命名空间
【3】在应用了该命名空间后,可以使用use命令进行引用,也可以使用一个命名空间来限定标示符的名称
如:use namespace sino1;
myFun();
或: sino1 ::myFun();
4、定义命名空间:
命名空间中包含一个名为统一资源标示符的值,也称为命名空间名称
两种方法声明命名空间:
【1】定义XML形式的显式URI定义
如:namespace flash_proxy=“http://....”;
【2】省略URI的形式定义(编译器将创建一个唯一的内部标示符字符串来代替URI)
如:namespace flash_proxy;
应用命名空间切记以下几点:
【1】对于每个声明只能应用一个命名空间
【2】不能一次将同一个命名空间属性应用于多个定义,换言之:如果您将自己的命名空间应用于多个不同的函
数,则必须将该命名空间作为属性分别添加到这几个函数的定义中
【3】如果您应用了命名空间,则不能同时指定访问修饰符,命名空间和访问修饰符是互斥的
5、引用命名空间:
在使用借助于任何访问控制命名空间声明的方法或属性时,无需显示引用命名空间
注意:对于自定义的命名空间,必须引用该命名空间
用use namespace指令引用命名空间会“打开” 该命名空间,以便将该命名空间应用于任何未限定的标示符
一次可以打开多个命名空间,不能显式关闭命名空间
6、变量:
注意:Actionscript3.0的变量与JAVA的变量不同之处在于,as不存在快变量,即在{}花括号之间的任意变量
也同时可以应用于整个所属函数的其他任何部分
7、类型检查:
类型检查可以再编译时或运行时执行
as3支持在运行时类型检查,同时也支持在严格模式下编译时执行类型检查
总:严格模式下:发生在编译时和运行时
标准模式下:只发生在运行时
在较大的项目中通常建议使用编译时类型检查
8、as,is和instanceof运算符
注意:is相当于JAVA中的instanceof,而instanceof只能判定精确的类型
as运算符:与JAVA类似,但返回值为:表达式的值(代替is的true)
null(代替is的false)
9、动态类:
动态类定义在运行时可通过添加和更改属性和方法来改变的对象
非动态类是密封类
通过dynamic来声明动态类