ActionScript学习笔记
ActionScript学习笔记
ActionScript中预定义的数据类型:Boolean、int、Number、String、uint
其中,int、Number、uint是处理数字的。int用来处理整数,Number用来处理很长又有小数点的数字,uint处理很大的正整数。
复杂数据类型:Array、Date、Error、Function、RegExp、XML、XMLList
自定义类属于复杂数据类型。
public class AS_001 extends Sprite
{
public function AS_001()
{
var v1:int= 9;
trace(v1);
var v2:uint =10;//无符号数
var v3:Boolean = true;
var v4:Number = 4.5;
var v5:String = "Helloworld";
var v6:String = 'Hello world!!!';
var v7:* =3;//任意数据类型
trace(v7);
v7 = "你好";
trace(v7);
var v8;
trace(v8);//undefined
var v9:String;
trace(v9);//null
var v10:Array = [2, 3, 4, 5];//数组
trace(v10);
var v11:Object = {id:3, username:"admin", password:"admin"};
trace(v11.username);
}
}
输出结果
9
3
你好
undefined
null
2,3,4,5
admin
public function my_function(){
var v1:Array = ["a", "b", "c", "d", "e"];
for(var i:String in v1){
trace(i);
trace(v1[i]);
}
for each(var propertyValue:String in v1){
trace(propertyValue);
}
var v2:Object = {id:1, name:"admin", age:22};
for(var i in v2){
trace(i);
trace(v2[i]);
}
for each(var propertyValue:String in v2){
trace(propertyValue);
}
trace(v2["name"]);
}
public function my_function1(){
var traceParameter:Function = function (aparam:String): void{
trace(aparam);
};
traceParameter("hello");
var traceArray:Array = new Array();
traceArray[0] = function(aParam:String):void{
trace(aParam);
};
traceArray[0]("Hello");
f("admin");
f1("admin1","admin2");
}
public function f(name:String = "zhangsan"):void{
trace(name);//zhangsan是默认参数
}
public function f1(...args):void{
trace(args.length);//可变参数
}
ActionScript面向对象
新建ActionScript类Student.as
package com.umgsai.as3
{
public class Student
{
private var _name:String = "zhangsan";
public function Student()
{
}
public function set name(name:String):void{//set方法
this._name= name;
}
public function get name():String{//get方法
return this._name;
}
}
}
使用
var s:Student = new Student();
trace(s.name);//相当于调用 function get name(),输出zhangsan
s.name = "admin";//相当于调用 function set name()
trace(s.name);//输出admin
ActionScript动态类
新建Teacher类
package com.umgsai.as3
{
public dynamic classTeacher
{
public function Teacher()
{
}
}
}
使用
var t:Teacher = new Teacher();//Teacher类是动态类
t.f = function(){//动态添加f函数
trace("f");
}
t.f();
delete t.f;//删除f函数
// t.f();//此句会报错
ActionScript接口使用
IFlyable.as
package com.umgsai.as3
{
public interface IFlyable//接口一般以I开头
{
function fly():void;//不写public之类的修饰符
}
}
实现接口
package com.umgsai.as3
{
public class T implements IFlyable
{
public function T()
{
}
public function fly():void//实现接口方法
{
trace("fly");
}
}
}
使用
var tt:IFlyable = new T();
tt.fly();
ActionScript异常处理
try
{
throw new EOFError("error occurs");
}
catch(error:Error)
{
trace(error);
}finally{
trace("finnaly");
}
值类型int例子
var a:int= 3;
var b:int= a;
b = 9;
trace ("a=" + a);
trace ("b=" + b);
执行结果:
a=3
b=9
引用类型例子。(类似C语言中的指针)
vara:Array = new Array(1,2,3);
varb:Array = a;
b[0] = 4;
trace("a:" + a);
trace("b:" + b);
执行结果:
a:4,2,3
b:4,2,3
使用const声明常量
const foo:int = 100;//不可以改变foo的值
typeof、is、as
trace(typeof 10);//Number
trace(9 is Number);//true//as与is格式一致,内容不同。如果一个对象属于一种类型,那么as返回这个对象,否则返回null
trace(9 asNumber);//输出9
trace(9 as Array);//输出null
in关键字
var a:Array = ["a","b","c"];
trace(2 in a);//true,数组a含有索引2
trace(3 in a);//false,数组a没有索引为3的元素
var b:Object = {ary:a, name:"OK"};
trace("ary"in b);//true,b中有ary属性
trace("name"in b);//true,b中有name属性
var c:Dictionary = newDictionary();
c[a] = "avalue";
c[b] = "bvalue";
trace(a in c);//true
trace(b in c);//true
两种函数定义方法
private function fname():void
{//函数语句定义法,推荐使用这种写法
trace("Hello");
}
var testAdd:Function = function (a:int, b:int):int{
//函数表达式定义法
return a+b;
}
设置默认参数
public function test(a:int = 3, b:int = 2, c:int = 1):void
{
trace(a+b+c,a, b, c);
trace("参数长度:" +arguments.length);
}
test();//6 3 2 1 全部使用默认值
test(9);//12 9 2 1 使用后两个参数的默认值
test(2, 9);//12 2 9 1 使用最后一个参数的默认值
test(1, 2, 3);//6 1 2 3 木有使用默认值
本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1531596
ActionScript学习笔记的更多相关文章
- ArcGIS API for Silverlight学习笔记
ArcGIS API for Silverlight学习笔记(一):为什么要用Silverlight API(转) 你用上3G手机了吗?你可能会说,我就是喜欢用nokia1100,ABCDEFG跟我都 ...
- 我的Android进阶之旅------>Android中编解码学习笔记
编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放license收费等等 ...
- 黑菜菌的JAVA学习笔记
简介 本文是笔者对<JAVA编程思想>的学习笔记.以自己的思维理解来写下这篇文章,尽可能地简练,易懂.本文将随本人学习进度实时更新 对象导论 抽象过程 汇编语言是对底层机器码的抽象,而面向 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
随机推荐
- yii自动登录
在yii,登录页面选择记住密码,下次就会自动登陆 前些天,自己增加了一个web应用,但是发现虽然选择记住密码,没选退出,关闭浏览器,重新进入还会跳转到登陆页面 自动登录是利用cookie实现的 配置U ...
- Java中为什么main()中不能创建内部类对象?
对main方法而言,虽然写在类中,它是游离于任何类之外的,因此某类的非静态内部类对它而言是不直接可见的,也就无法直接访问 . 1:非静态内部类,必须有一个外部类的引用才能创建. 2:在外部类的非静态方 ...
- cocoaPod的使用
因为准备在项目中使用bootstrap,在安装bootstrap过程中提示需要Ruby的版本在1.9.2以上,而目前使用的Ruby版本是Mac系统自带的1.8.7.所以需要对Ruby进行升级.这里使用 ...
- 【BZOJ-1458】士兵占领 最大流
1458: 士兵占领 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 782 Solved: 456[Submit][Status][Discuss] ...
- 自动存储管理 ASM (转)
文章转自:http://www.itpub.net/thread-1342473-1-1.html 自动存储管理 (ASM) ASM 是 Oracle 数据库 10g 中一个非常出色的新特性,它以平台 ...
- Andorid视觉新冲击-Material design语言
[写在前面] google在2014年 I/O大会上推出了一种新的设计设计语言—Material design,这种设计语言语言旨在为手机.平板电脑.台式机和“其他平台”提供更一致.更广泛的“外观和感 ...
- android布局学习-使用FrameLayout和LinearLayout制作QQ空间底部导航栏
[声明:本博客通过学习“J灬叶小超 ”博客而写,链接:http://www.cnblogs.com/yc-755909659/p/4288260.html] --------------------- ...
- Android成长日记-APP的签名和打包
签名的意义: 1. 为了保证每个应用程序开发者的合法 2. 防止部分人通过使用相同的Package Name来混淆替换已经安装的程序,从而出现一些恶意篡改 3. 保证我们每次发布的版本的一致性 (如自 ...
- dojo树的节点添加链接的例子
1 . 下载dojotoolkit的src版,找到dijit/tests/tree/test_Custom_TreeNode.html,这是一个自定义节点的例子 2. http://dojotool ...
- [JavaEE]调用Restful Service 出现415 Unsupported Media Type的问题(Rest Request Header中的Content-Type问题)
用Chrome的插件Simple REST Client 调用POST的REST服务时,老是报415错误,如图. 一开始就以为是服务端的问题,各种google,百度,折腾了一下午未果. 晚上继续看,一 ...