actionScript30笔记

上传人:新** 文档编号:505016728 上传时间:2024-02-04 格式:DOC 页数:50 大小:272.50KB
返回 下载 相关 举报
actionScript30笔记_第1页
第1页 / 共50页
actionScript30笔记_第2页
第2页 / 共50页
actionScript30笔记_第3页
第3页 / 共50页
actionScript30笔记_第4页
第4页 / 共50页
actionScript30笔记_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《actionScript30笔记》由会员分享,可在线阅读,更多相关《actionScript30笔记(50页珍藏版)》请在金锄头文库上搜索。

1、/= =/:以全角星号包围的为本次更新的内容第一部分:ActionScript 3 语言基础 =第2章 ActionScript 3 语言基本元素=2.1.2 数据类型概述简单数据类型Boolean(布尔)、int(有符整型)、Number(浮点)、String(字符串)、uint(无符整型)复杂数据类型Array(数组)、Date(日期)、Error(异常)、Function(函数)、RegExp(正则表达)、XML、XMLList2.2.1 变量声明var 变量:类型var 变量:类型 = 值;/=2.2.5 基元数据类型的深入讨论*(此星号为殿堂本身章节标示 意为本章属高级内容 难度较深

2、 建议有经验的人阅读理解)AS3中数据类型可以划分为两种,一种是值类型组成的不变对象(immutable object),一种是数组 Object类型的引用类型!所谓的不变对象意思就是忠于地址,而不是忠于引用对象!var a:uint = 1;var b:uint = 0;b = a; /这里把b的值向到a所指向的内存地址;a = 2; /这里不是修改a原来的内存了 而是生成一个副本 重新赋值为2 并把a指向新内存地址trace(a);trace(b);/直接赋值只会改变地址引用,而后续的对象更改,都是生成新的副本,而非在原有地址上进行数据的修改!/个人理解就是类似有一个连接池,里面放有很多个

3、变量的副本,声明变量b c d e f 指向等于a的时候,它们共同引用的是一个相同的字符串 指向变量a的地址,减少副本的冗余带来的内存重复占用 这里bcdef只是一个指代 当程序中重复利用一个相同的字符串超过成千上万次的时候,这里只引用一次,效果就特别明显了!/而当一个内存地址均不被任何变量引用时/比如var a:uint = 1;a = 2;/类似这种单赋值的话,回收计数器引用为0时,内存回收机制会在适当的时候回收 原来赋值1时 占用的内存空间!/谢谢天地会群里的朋友补充,类似java中的对象池,创建的对象循环利用,不采用销毁/new的方法,而多采用init初始化,重复利用!(方便帮助理解

4、这里举了点不一定符合实际的例子 但大致是这样的思想!)=/2.3 声明常量const 常量名:类型 = 值;2.4 基础数据类型1.布尔值 Boolean(初始化为false)2.数字:int uint Numberint 有符号32位整数 -2(31次方) - +(2(31次方)-1)uint 无符号32位整数 0 - 2(32次方)-1Number 64位浮点能用整数优先用int uint,有正负之分,用int。只处理整数,用uint,有小数,用Number。/=2.4.5 数组:ArrayAS3中的数组是以0为起始索引的稀疏数组(sparse array),与C#等语言不同,它们变量及数

5、组声明是 type name形式的类型化序列!比如 int IntArray10 ,声明了一个只能放整数的数组 里面有10位长度AS3中的数组每位元素没严格要求相同类型,但一般情况下我们使用时均同一时刻只存放相同类型的数据!=/2.4.6 Object及关联数组var 对象:Object = new Object()var 对象:Object = ;对象(Object)属动态类,可动态添加任意属性/方法,特别在传参时可以运用Object进行 封箱/拆箱 处理!var 对象:Object = 键:值,键:值,键:值;对象.键 = 值;当键名中包含空格等特殊字符串时,需要使用数组运算符的方式进行访

6、问对象键 = 值;关于Object的定义 可以有几种说法,分别是对象(专指Object的定义) / 关联数组 / 匿名对象 / 对象文本(即单纯使用声明的匿名对象)/=2.4.7 多维数组AS3中多维数组的实现使用 数组元素嵌套数组元件的方法实现多维数组的效用,即:var Arr:Array = 0,1,1,3,4,6这种形式的多维数组=/2.4.8 Null、NaN、undefined及各自应用对象:变量的默认值数据类型默认值int0uint0NumberNaNStringnullBooleanfalseArraynullObjectnull没声明undefined*undefined/=除

7、了真正未声明及*类型会显示为undefined外数值类初始值为0String Object Array类初始值为nullBoolean 初始值为 falseNumber 初始值为 NaN (Not a Number)这里科普一下关于NaN的原理,属于数据结构基础的部分,计算机储存二进制的原理知识:因为计算机存放浮点数时是采用类似 4字节byte(4*8=32位)储存一个实数时,会以3byte存放使用标准化指数(即科学记数法的个位数为0表示的小数)表示的底数,包括底数的正负号1byte存放指数,包括正负号二进制概念中 1字节(byte)有8位(bit) 底数部分 1bit指定正负 23bit(即

8、3字节3*8-1=23)储存底数(2的23次方)指数部分 1bit指定正负 7bit储存指数因为实数初始化时计算机并不清楚最终它是储存整数还是浮点数? 3byte+1byte浮点数 或者 直接4byte的整数 1bit+31bit(2的31次方),所以才会有了NaN这个概念,Number类型数据初始化时是不定值!要判别一个Number类型变量是否为NaN,不能直接用 = NaN,要视它为一个布尔量来运算,即:if(!Number变量) 因为NaN等同null ,布尔值上为false ,!非一次 即 true= /注意:必须声明初值,否则容易出错。2.5 运算符,表达式及运用2.5.11 typ

9、eof、is、astypeof,用字符串返回对象类型,格式: typeof(对象)is ,判断操作符左边的对象是否属于右边的类型,返回值为Boolean,格式: 对象 is 数据类型as ,判断操作符左边的对象是否属于右边的类型,属于则返回数据,不属于则返回null,格式: 对象 as 数据类型typeof对象类型与返回结果对照表对象类型返回结果ArrayobjectBooleanbooleanFunctionfunctionintnumberNumbernumberObjectobjectStringstringuintnumberXMLxmlXMLListxmlArray Object一视

10、同仁为object数值类一视同仁为numberBooleand booleanString stringFunction function2.5.12 inin ,判断操作符左边的对象是否作为右边对象中的键(Key)或索引,返回值为Boolean比如:var a:Array = q,w,e;trace(2 in a); /数组中有索引2,返回truetrace(3 in a); /数组中没有索引3,返回false2.5.13 delete关键字AS2.0中可以删除任意任意对象的delete关键字,在AS3.0中只能用于删除对象的动态实例属性,非动态属性不能删除。如果要将一个属性所持有的引用删除

11、,使用 对象名 = null 来进行赋值操作即可。=第3章 ActionScript 3 流程控制=3.4.5 for.in和for each.infor(var 枚举变量 in 枚举集合) /枚举变量返回为集合元素键名for each(var 枚举变量 in 枚举集合) /枚举变量返回为集合元素值for.in 和 for each均只能遍历动态类的集合3.4.7 break和continue标签的特殊用法在循环语句前用 标签: 的形式为循环体赋标签,然后就可以在break和continue语句后 加上空格+这个标签,实现控制对应循环的功能。3.5 AS3.0中switch比较默认使用 = 全

12、等比较,switch条件不会自动执行类型转换,要注意。=第4章 ActionScript 3 中的函数及高级使用技巧=4.1.1 两种定义函数的方法函数定义式- 函数变量式函数语句定义法-函数表达式定义法函数定义式 用function开头,function 函数名()函数变量式 用 var 变量名 = function() ,即匿名函数AS编译器会优先执行定义式的函数,而变量式函数则只能先定义,后使用(与变量一样,先定义,后使用)在实现上,使用 函数定义式定义的函数,AS3是使用内部实现处理的,而函数语句定义法则是基于动态类的实现,所以函数声明不可以用赋值等号改变指向,而变量式函数定义可以使用

13、赋值等号改变它的引用!var a:Function = function();a = bFunction; /重新指向函数引用对象变量式中this关键字绑定对象 定义式中this关键字只绑定场景var num:int = 3;function testThisA()trace(this.num)/此处输出3var testThisB:Function = function()trace(this.num)/此处输出300var Obj:Object = num:300;Obj.TestA = testThisAObj.TestB = testThisB4.2 参数4.2.1 按引用传入参数AS3.0中,所有形参均为引用传入方式,只不过,基元数据是不变对象,所以与传值方式效果一样。4.2.2 函数默认参数function 函数名

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号