数据类型和数据运算
关于数据类型
一个变量或者常量被声明时,必须指定其数据类型:
原生数据类型:语言本身提供:字符串、整数、布尔型等
复杂数据类型:由基本数据类型组成的复合型类型:类、接口等。
基本数据类型:
Boolean:布尔型,true 和 false
int: 整数,存放32位二进制整数,范围:-2147483648~2147483647,当超出自动转为Number
Null:空值,是字符串和所有类的默认值。
Number:整数型和浮点型,使用64位双精度格式存放数据,没有小数点时自动转换成整数。最小值和最大值分别存放在Number 对象的MIN_VALUE 和 MAX_VALUE属性中。
String:字符串,以Unicode 编码格式存放。
uint:正整数类型,0~4294967295
void:值为undefined,只能用作函数的返回类型。
复杂数据类型:Object 对象、 Array 数组、 Date 日期、Error 错误对象、Function 函数、 RegExp 正则表达式、XML XML数据对象、XMLList。
其中Object 是所有对象的基类。
以下是各个类型的默认值
Object、Array :null
Number:NaN
int、uint:0
Boolean:false
*:不定类型,默认值:undefined。
字符串
可以使用单引号和双引号 来声明字符串,也可以使用String 的构造函数来生成:
var str1:String = 'string';
var str2:String = "string";
var str3:String = new String("string");
使用转义符号“\” 来转义符号后面的字符:"string\"test" = string"test
String 的属性:
length:用来获取字符串的长度
contact(...args):合并字符串,也可以使用+合并字符串
charAt(index):获取index位置的字符。
indexOf(val, starIndex):从starIndex 开始查找val 在字符串中第一个出现的位置。找不到返回-1
split(delimiter, limit):返回以delimiter 分隔最大为limit的数组。
substr(startIndex, len):从startIndex 位置开始截取长度为len的字符,如果startIndex为-1表示最后一个位置,当len大于最大长度时,自动返回最大长度值。
substring(startIndex, endIndex):截取从 startIndex 到 endIndex位置的字符,两个参数都不能为负数,否则转为0,如果endIndex 省略,取默认值:字符的长度。
slice(startIndex, endIndex):同substring,并允许startIndex, endIndex 为复数。
toUpperCase():转换为大写
toLowerCase():转换为小写
数字计算
算术运算符:符号 符号说明 符号 符号说明
+ 加法运算 -- 减1运算
- 减法运算 += a=a+ b
* 乘法运算 -= a=a- b
/ 除法运算 *= a=a* b
% 取模运算 /= a=a/ b
++ 加1运算 %= a=a% b
在进行除法运算时,如果被除数为0,则返回值为 Infinity。
Math 类 方法说明:
Math.round(n):四舍五入
Math.floor(n):返回小于或等于指定数字n 的最大整数
Math.ceil(n):返回大于或等于指定数字n 的最小整数
Math.pow(val1, val2):计算val1 的 val2 次幂
Math.sqrt(val):val的平方根
Math.max(val1, val2, ...rest):技术给定数字的最大值
Math.min(val1, val2, ...rest):技术给定数字的最小值
Math.randow():获取一个随机数字: 小于1大于等于0
数组的使用
创建数组:
var arr:Array = new Array(); //默认元素值为undefined
var arr:Array = new Array(3); //创建一个包含3个元素的数组。
var arr:Array = new Array("1", "2", "3"); //直接给数组定义元素
var arr:Array = [];
var arr:Array = ["1", "2", "3"];
var arr:Array = [3]; //并不是定义3个元素,而是将3作为数据放到数组中
获得数组元素:
arr[0]:第一个元素,如果下标超出范围,返回 undefined
arr.length:数字的长度
插入元素:
push():将数据添加到数组的尾部,push("flex")
unshift():将数据添加到数组队顶部,unshift("flex")
splice(startIndex, deleteCount, ...values):把数据插入到数组的指定位置,startIndex:操作的下标,deleteCount:要删除的元素个数,...values:要添加的若干数据。
删除元素:
pop():删除数组的最后一个元素
shift():删除第一个元素
splice(startIndex, deleteCount, ...values):删除任意位置的元素,从startIndex开始删除deleteCount个元素,并添加元素 values。
排序:
sort:主要对简单数据结构的数组进行排序
sortOn:对复杂数据结构的数组排序
reverse:将现有顺序逆向
排序规则:排序规则可同时使用如:sort(Array.CASEINSENSITIVE | Array.DESCENDING)
Array.CASEINSENSITIVE:不区分大小写
Array.DESCENDING:降序排序
Array.UNIQUESORT:如果元素都是唯一,不存在重复就进行排序,否则不排序
Array.RETURNINDEXEDARRAY:将排序后的元素的新顺序返回,但不修改原来的数组
Array.NUMERIC:按照数字大小排序
复杂排序:
arr.sortOn("age", Array.NUMERIC); //"age"为元素的属性,将使用age来排序
多维数组:
var arr:Array = new Array();
arr:push(["1","2"]);
访问:arr[0][0]
类型检测和转换
类型检测:
typeof 对象:如果是由用户的类产生的对象,一律返回object。只能对基本类型检测。
数据类型 结果 数据类型 结果
Array object object object
Boolean boolean String string
Function function uint number
int number XML xml
Number number XMLList xml
对象 is 类型:对对象的类型进行精确判断。如果对象是类型返回true,否则返回false。
类型转换:
隐式转换:大部分由flash player 来完成,如:undefined 会自动转为null
显示转换:通过编写代码来完成:类型(对象) ,也可以通过这样转换:对象 as 类型 ,如果成功返回对象转换后的值,否则返回null,不会引发异常。
控制程序的流程
选择语句
if 流程控制:
if(条件表达式){
//代码块
}else{
//代码块
}eles if(条件表达式){
//代码块
}
switch 流程控制:
switch(条件表达式){
case 值1:
//代码块
break;
case 值2:
//代码块
break;
.....
default:
//当上面的值都不匹配执行 default 里面的语句。
}
循环语句
for 循环:
for(表达式; 条件表达式; 表达式){
//代码块
}
for...in 循环 : 遍历对象的属性名
for(var 属性名 in 对象){
//对象[属性名]
}
for each...in 循环: 遍历对象的属性值
for each(var 属性值 in 对象){
//这里可以直接使用属性值
}
while 循环:
while(条件表达式){
//代码块
}
do...while 循环:
do{
//代码块
}while(条件表达式)
跳转语句
break:用来从当前的循环体中跳出,结束循环
continue:结束本次循环,继续下次循环。
return:结束函数的运行,返回。
分享到:
相关推荐
"ActionScript 3.0 编程.pdf"这份文档很可能是关于ActionScript 3.0的教程或参考手册,它可能涵盖从基础知识到高级特性的全面内容,包括对象导向编程、错误处理、性能优化、组件开发等方面。通过阅读和实践这份文档...
本教程源文件着重于教授ActionScript 3.0的基础知识和实际应用。 一、ActionScript 3.0简介 ActionScript 3.0相较于2.0版本进行了重大升级,它引入了类型检查、更严格的语法和显著的性能提升。AS3.0使用ECMAScript ...
本书全面介绍了ActionScript 3.0的基本语法、类的架构以及面向对象程序的设计理念。...本书既适合Flash ActionScript初学者使用,也适合有一定编程基础的学习者进一步深造使用。可作为自学教材和各级培训用教材。
一、ActionScript 3.0 语言基础 1. 语法:AS3.0 引入了严格的类型系统,要求在声明变量时指定类型,如 `var myVar:Number;`。此外,语句必须以分号结尾,提高了代码的可读性。 2. 变量与数据类型:AS3.0 包括基本...
总的来说,“ActionScript 3.0编程技术实战宝典”是全面了解和掌握ActionScript 3.0编程的宝贵资源,无论你是初学者还是经验丰富的开发者,都能从中获益匪浅,提升自己的编程技能。通过实际案例和实践练习,读者将...
这份"ActionScript3.0编程手册PDF"提供了全面的指南,帮助开发者深入理解和熟练运用ActionScript3.0。 一、ActionScript3.0概述 ActionScript3.0相较于之前的版本有显著的提升,特别是在性能、类型系统和编程模型...
它在ActionScript 2.0的基础上进行了重大升级,引入了更强大的类型系统、改进的性能以及更严格的语法,为开发者提供了更高效和灵活的编程环境。 ActionScript 3.0 的核心特性包括: 1. 类和对象:AS3.0 引入了完全...
《Flash ActionScript3.0教程示例(从入门到精通)》是一本全面解析ActionScript3.0编程语言在Flash平台上的应用的教程。ActionScript3.0是Adobe Flash Professional中的核心编程语言,用于创建交互式动画、游戏、富...
本书全面介绍了ActionScript 3.0的基本语法、类的架构以及面向对象程序的设计理念。...本书既适合Flash ActionScript初学者使用,也适合有一定编程基础的学习者进一步深造使用。可作为自学教材和各级培训用教材。
第 1章 :ActionScript3.0 简介 关于 ActionScript ActionScript 3.0 的优点 ActionScript 3.0 中的新增功能 核心语言功能 Flash Player API 功能 与早期版本的兼容性 第 2章 :ActionScript 快速入门 编程基础 ...
本书全面介绍了ActionScript 3.0的基本语法、类的架构以及面向对象程序的设计理念。...本书既适合Flash ActionScript初学者使用,也适合有一定编程基础的学习者进一步深造使用。可作为自学教材和各级培训用教材。
#### 二、ActionScript3.0编程基础 - **变量与数据类型**:ActionScript3.0支持多种内置的数据类型,如Number、String、Boolean等。此外,还支持自定义的数据类型。 - **运算符**:包括算术运算符、比较运算符、逻辑...
第一部分: 第1篇 ActionScript3.0语言基础 第1章 ActionScript3.0概述 第2章 搭建ActionScript3.0开发环境 ... 第9章 可视化编程基础 第10章 对象交互与事件处理 第11章 ActionScript3.0可视对象 ......
本书详细地介绍了 actionscript 3.0的基础知识,包括 actionscript 3.0语言、actionscript 3.0对象的操作方法、显示列表的使用、事件模型、加载外部素材、可视化编程以及利用声音和视频增强应用程序等方面的知识,并...
《ActionScript 3.0编程精髓》一书深入探讨了ActionScript 3.0这一强大的脚本语言,它是Adobe Flash平台的核心组成部分,广泛应用于动画、交互式内容和Web应用程序的开发。以下是从这本书中提炼出的关键知识点: ##...
ActionScript 3.0是Adobe开发的一种面向对象的编程语言,主要用于创建富互联网应用程序(RIA)和Flash内容,尤其在游戏开发领域应用广泛。ActionScript 3.0相较于早期版本有显著的性能提升、类型系统强化和更严格的...
总之,《ActionScript 3.0入门基础》教程将引导你逐步了解和掌握这个强大的编程语言,为创建动态的Flash内容打下坚实的基础。通过阅读《ActionScript 3.0 Cookbook 中文完整版.pdf》,你将能深入实践,解决实际开发...
《Flash ActionScript 3.0动画教程》是一本专为学习和掌握Flash中ActionScript 3.0编程语言而设计的教程,特别适合对动画制作和互动设计感兴趣的读者。ActionScript 3.0是Adobe Flash Platform的核心编程语言,它的...