ActionScript

 

1.Flex Framework是一个开源框架(开源库),基于Actionscript3和用户界面组件,Flash catalyst和Flash Builder基于Flex4框架,这些开源库大大地提高了运行在各大浏览器、桌面上的应用程序的能力。MXML是一种基于XML的可声明的语言,在用户界面布局中使用。ActionScript是一种兼容ECMA的脚本语言,在业务逻辑中使用。HTML、JavaScript、CSS、Flex是紧密联系在一起的,互为补充的技术。使用可以在HTML中嵌入SWF的JavaScript代码。一旦SWF文件存在与浏览器中,它将能够直接与服务器代码进行通信,这就使得动态内容可以更新Flex应用的用户界面,而无需刷新HTML页面,这就减少了向服务器发送请求的次数以及传输的数据量。

2.Flash Builder包含了Flex SDK和Flex Framework的全部内容以及提高开发效率的特性。它是一个基于Eclipse的,可以通过在Eclipse上安装插件也可以独立安装,包括标准版和高级版,高级版旨在创建关键业务应用,包含了标准版的所有特性。同时会包括FlashPlayerDebuggerVersion,有了这个版本可以将语句和错误信息输出到电脑上的FlashPlayer本地文本日志。FlexSDK开发者还可以使用命令行调试器写入本地日志。FlashBuilder开发者可以使用工具自带的交互调试器代替本地日志文件。新建一个Project,FlashBuilder会编译Flex应用,并将其存放在项目文件夹下一个叫bin-debug的目录下。工作台是开发的环境,工作空间是一个文件系统路径,它包含了与Eclipse中的一组项目相关联的所有文件和文件夹,即wordspace。Flex的归档文件时.fxp.工作台有自动保存和报错的功能。

3.MXML的开头会有版本、编码等信息,然后Application标签的前三个属性定义了三个XML命名空间,它引用了Flex框架中的三个库,每一个命名空间都有一个URL地址,事实上URL只是一个字符串,用它来确保一个唯一的值以便于命名空间映射。每个命名空间映射到列举了所有MXML标签的清单文件。

4.程序所做的事就是操作计算机指令的运行,编程主要涉及计算机内存中的信息,变量表示计算机内存中的值,编写语句来处理操作值时,计算机查找内存中的值,AS3中的变量是变量名+可以存储的数据类型+实际值:var var1:number=17,常量的特点是在内存中整个程序运行期间不变,与变量的区别是用const,而不是var .AS中的三种数据类型:Number,任何数值包括有小数的;Int,一个整数,不带小数;Unit,一个无符号的整数,即不能带负号的整数。当然,还有Boolean,true或false.String.类就像是一个模板。

5.AS是一种面向对象的编程语言,面向对象只是一种编程方式,相对来说,面向对象的编程中,计算机要执行的程序指令分布在不同的对象中,相关的功能和信息被编组到一个容器中。每个类都包含属性、方法、事件。事件指AS程序可以执行等待用户输入、保持运行等,大体指计算机确定执行什么指令以及何时执行的机制。基本事件处理包括三个元素,事件源(事件触发源头)、事件(将要发生啥事)、响应(事件发生了,执行哪些步骤)。for(var i:String in arr),i相当于数组的下标或者说是属性,打印i的话就是0、1、2...,trace(arr[i])打印的才是后面的String.而for each(var propertyValue:String in arr)表示直接打印里面的值。类似的:var v2:Object=(id:1,name:'lisi',age:19);类似于数组中的i和value。function里面会有一个默认值,如果你不给它赋值它就会用默认值。

6.AS3中引入了无类型变量,var someObj:*;或var someObj;无类型变量与Object类型的变量区别在于无类型变量可以保存特殊值undefined,而Object类型不行。包和命名空间,包用来控制类和属性,使得类和属性在编译之后将包与之相关联。在AS3中,不仅能将类放在包的顶级,还可以将变量、函数甚至语句放在包的顶端。这个功能的高级用法是在包的顶级声明一个命名空间,使之对于该包中的所有类均可用。包的顶端只能是public或者internal。可以讲public,private,internal,protected视为命名空间。自己也可以自定义命名空间,如namespace version;可以讲函数放到命名空间中,如version function myFunction(){}。对于命名空间的使用,可以在类中方法的前面加上比如version myFunction(){}表示该方法属于version这个命名空间。同时,命名空间和访问控制符是冲突的。

7.AS3中允许源文件包含多个类,但是只能有一个类供外部使用。即只有一个类可以在包声明中进行声明。在AS3中没有块级作用域,如在某个代码块中生命了一个变量,则该变量在代码块所属函数的其他任何部分都可以使用。编译器会提升变量声明语句,即把所有的变量声明提升到函数的顶端,而不会提升变量赋值语句。同JAVA一样,根据变量的数据类型都会有类似的默认值。注意Number的默认值是NaN(而不是某个数字),表示非数字的某个值。对于AS3来说,所有的原声数据和包装对象都是一样的,不进行区分。var someInt:int=3;和var someInt:int=new int(3);是一样的。类型检查可以在编译时或者运行时执行,静态类型语言如Java都是在编译时,而Python和Smalltalk都是在运行时,AS3在运行时执行检查,但是也支持严格模式的特殊编译模式即编译时检查。同时is代替了instanceof,is可以检查对象是否是特定类的实例,还可以检查是否是用来实现特定接口类的实例。返回时是boolean类型,as运算符也可以用来检查表达式是否是给定类型的成员,但是as不反悔boolean,而是返回表达式的值或null。

8.声明类的时候还可以使用dynamic属性创建动态类,它会在运行时完成所有类型检查,创建了动态类的实例之后,可以在类定义的外部给它添加属性和方法。但是这种方式创建的方法对于动态类内部的任何私有属性和方法都不具有访问权。关于显示转换和隐式转换,任何数据类型都能转换为int、uint和Number,比如true变成1,false变成0.for ...in与for each...in的区别是for...in存属性名和属性值,而foreach...in值保存属性的值。

9.函数语句与函数表达式的区别是函数语句能够单独存在,类似于先定义变量再赋值跟同时赋值定义变量一样。函数表达式必须定义之后才能用,而函数语句可以在定义之前就能够调用。使用arguments数组和arguments.length来跟踪传递来的所有参数。函数可以像变量一样作为参数传递给另一个函数的引用。函数也有属性和方法,比如length属性,但是arguments.length与method.length的区别是你可以传递多多定义的参数数量,比如定义了2个,但你可以传递4个参数,然后arguments.length就是4,但是method的方法只是2.

10.在类中允许定义同名的静态变量和实例属性,static var message:String="",varmessage:String=""调用的时候使用className.staticVar和对象.varName.构造函数只能使用public修饰。使用get、set,方法是直接调用,会只能转换get、set方法,比如赋值时就是set、取值时就是get.关于this绑定方法,类里面方法的this绑定到该类中,所以调用时

仍指该类的对象。枚举类都是final类,而且内部成员都是静态的常量,不需要使用enum关键字或实现接口。接口是方法声明的集合,通过接口可以实现不相关的对象之间的相互通信。只要某一个类实现了这个接口,就能实现。静态方法或使用final的,不能被继承也不能被覆盖。子类继承父类,不能覆盖超类中定义的变量,但是可以覆盖setter和getter.子类可以直接访问父类的静态属性,不需要用类名+属性名来使用。由于存在固定属性继承和原型继承两种继承机制,所以牵涉到核心类的属性、方法时就会存在两种机制的兼容性问题。AS3中通过将原型继承和固定属性继承用于核心类,解决了这问题。AS3命名空间提供了一种约定机制,用来在两种属性之间做出选择。默认的优先级是固定属性。可以通过nums.AS3::pop()或者use namespace AS3;来选择。

11.Array与ArrayCollection,ArrayCollection里面存的是Object,需要用arrayCollName[index].name或者.value来输出。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值