Flex入门(三)-----function函数

本文详细介绍了JavaScript中函数的定义方式,包括普通定义、匿名函数定义,以及参数传递的两种方式:按值传递和按引用传递。此外,文章还讲解了默认参数的使用、arguments对象的作用、可变参数的实现,以及如何使用判断函数和析构函数,并提供了getter和setter方法的实例。
方法的定义:
        1.普通定义:

            function 函数名(参数1:类型, 参数2:类型,…,参数n:类型):返回值类型
                {
                   //函数体
                }


        2.使用匿名函数方式声明函数:
            
            匿名函数定义的方式是将一段“函数文本”存储在一个变量中,函数文本中没有名称,所以称为匿名函数。语法格式如下:
            
            var 函数名:Funtion = function(参数1:类型, 参数2:类型, …,参数n:类型):返回值类型
            {
                //函数体
            }
            
            例如,使用匿名函数方式定义函数customFunc,代码如下所示:
            
            var customFunc:Fuction=function(str:String):String
            {
                return  "Hello "+str ;
            }
         需要注意的是:当类中定义这样的匿名函数赋值给变量的时候,一定不要在function 后面加方法名,本人犯过此错误,结果类始终无法初始化,切记。





    3.参数传递
        (1)按值传递,意味着将参数的值复制到局部变量中以便在函数内使用。
        (2)按引用传递,意味着只传递对参数的引用,而不传递实际值。
        例如:
            var n:int=0;
            
            function add(i:int):void
            {
                i++;
            }
            trace(n);                    //输出0
            add(n);
            trace(n);                    //输出0
        
        下面是一个引用传递的例子:
            var obj:Object={i:0};
            
            function add(o:Object):void
            {
                o.i++;
            }
            trace(obj.i);                //输出0
            add(obj);
            trace(obj.i);                //输出1

    5、默认参数值
    
        指定为默认值的值必须是编译时的常量。如果某个参数存在默认值,则会有效地使该参数成为“可选参数”。没有默认值的参数被视为“必需的参数”。
        在定义参数时使用赋值运算符“=”即可为参数设置默认值。例如:
        
        function print(i:int, j:int=2):void
            {
                trace(i, j);
            }
        print(1);                //输出12




    6、arguments 对象
        arguments对象是一个数组,其中包括传递给函数的所有参数。例如,arguments[0]存储第1个参数,arguments[1]存储第2个参数。
        arguments.length属性作用是报告传递给函数的参数数量。arguments.callee方法作用是提供对函数本身的引用,该引用可用于递归调用函数表达式。
        例如:
            function print(i:int):void
            {
                trace(arguments[0]);    
            }
            print(10);    


    下面的例子是使用arguments.callee属性递归求自然数的阶乘:
            var factorial:Function = function (x:uint):int
            {
                if(x == 0)
                {
                    return 1;
                }
                else
                {
                    return (x * arguments.callee(x - 1));
                }
            }
            trace(factorial(5));        //输出120



      7、...args    可变参数 :args参数是一个数组结构,可以接受任意个数的参数,但是需要注意的是:参数声明必须是参数列表中的最后一个参数。






判断函数:
    1.判断函数
        (1)isNaN()函数。用于判断某个值是否为非数字。
        (2)isFinite()函数。用于判断某个数值是否为有限数。
        (3)isXMLName()函数。用于判断指定字符串对于XML元素或属性是否为有效名称。




2.析构函数
    析构函数是在类的对象被销毁时自动执行的,主要用于释放对象占用的内存空间。析构函数的名称也与类型相同,只不过要在函数名前加一个“~”符号。
    语法格式如下:
        public function ~类名()
        {
            …
        }
        析构函数不带任何参数,也没有返回值。一个类中只能有一个析构函数。



3、get和set方法:

    1.getter方法
    getter方法用于访问属性的值,一般使用get关键字定义getter方法,语法格式如下:
    
    访问修饰符 function get 方法名():返回类型
    {
        //其他代码…
        return 属性名;
    }
    getter方法不需要定义参数,返回类型要和私有属性的类型相同。方法的定义中必须要有一个return语句用于返回要访问的属性。
    在类外部使用对象名加点运算符(.)加方法名即可得到类的属性值。



    2.setter方法
    setter方法用于设置属性的值,一般使用set关键字定义,语法格式如下:
    
    访问修饰符 function set 方法名(参数名:参数类型):void
    {
        //其他代码…
        属性名=参数名;
    }
    
    setter方法中必须要有参数,参数类型要和访问的属性类型相同,返回类型为void,方法中必须要有给属性赋值的赋值语句。在类外部使用setter方法为属性赋值,
    格式如下:
    类名.方法名=属性值;

图书目录: 第Ⅰ部分 Flex概述  第1章 使用Flex的理由   1.1 Flex的含义   1.2 RIA的含义   1.3 受欢迎的Flex   1.3.1 揭秘Flash和Flex   1.3.2 用户喜爱Flex的十大理由   1.4 本章小结  第2章 Flex3生态系统   2.1 Flex历史简介   2.2 Adobe Flex3生态系统,   2.2.1 运行时   2.2.2 语言   2.2.3 框架和API   2.2.4 数据通信   2.2.5 服务器   2.3 Adobe Flex RIA工作流程   2.3.1 设计与开发   2.3.2 运行   2.3.3 通信   2.3.4 基本设施   2.4 Flex生态系统未来的扩展   2.5 本章小结    第3章 ActionScript3.0基础   3.1 核心语言概念   3.1.1 基本语法   3.1.2 保留关键字   3.1.3 变量和数据类型   3.2 控制结构   3.2.1 条件语句   3.2.2 循环   3.3 使用类和数据类型   3.3.1 值类型   3.3.2 数字型   3.3.3 字符串   3.3.4 数组   3.3.5 向量   3.3.6 对象   3.3.7 类型转换   3.3.8 自检   3.4 面向对象编程   3.4.1 Object类   3.4.2 包和类   3.4.3 类特性   3.4.4 类成员   3.4.5 接口和继承   3.5 本章小结    第4章 运用ActionScript3.0   4.1 Flash平台框架   4.2 显示编程   4.3 事件模型   4.3.1 事件类和类型   4.3.2 事件进程   4.3.3 事件流   4.3.4 Event Dispatcher类   4.4 Flash Player API   4.4.1 Display API   4.4.2 Flash AIR的API   4.4.3 Flash 10的API   4.5 本章小结    第5章 Flex BuiIder3   5.1 Flex Builder入门   5.1.1 FlexBuilder和Eclipse   5.1.2 学习Flex和获取帮助   5.2 FlexBuilder3工作台   5.2.1 工作区   5.2.2 创建和交换工作区   5.2.3 工作区配置   5.2.4 编辑器   5.2.5 视图   5.2.6 透视图   5.2.7 创建自定义透视图   5.3 FlexBuilder3中的内容   5.3.1 向导   5.3.2 设训,模式的增强   5.3.3 开发功能的增强   5.3.4 CS3套件的整合   5.4 本章小结 第Ⅱ部分 使用FIex3开发应用程序  第6章 使用FIexBuilder3   6.1 Flex编译过程   6.1.1 开发   6.1.2 编译   6.1.3发布   6.2 关于项目   6.3 创建Flex应用程序   6.3.1 创建一个Flex项目   6.3.2 使用设计模式   6.3.3 使用数据绑定   6.3.4 使用触发器和特效   6.3.5 编译应用程序   6.4 创建ActionScript应用程序   6.4.1 创建ActionScript项目   6.4.2 比较文件大小   6.5 非正式的SWF元数据标记   6.6 本章小结    第7章 MXML基础   7.1 语言原则   7.1.1 MXML是XML   7.1.2 命名约定   7.1.3 MXML语法   7.1.4 显示层次   7.1.5 MXML名称空间   7.2 使用MXML   7.2.1 MXML标签   7.2.2 MXML属性   7.2.3使用MXMI和CSS   7.2.4 使用MXML和ActiOnScript   7.3 本章小结   第8章 使用FlexBu1ider3进行开发   8.1 项目管理   8.1.1 项目属性   8.1.2 导出项目   8.1.3 导入项目   8.1.4 导航项目   8.2 创建应用程序   8.2.1 创建调试版本   8.2.2 创建导出版本   8.2.3 激活源视图   8.3 语言智能   8.3.1 编辑代码   8.3.2 代码参数   8.3.3 代码自检   8.3.4 键盘快捷键   8.4 本章小结    第9章 自定义Flex Bu1ider3   9.1 优化FlexBuilder性能   9.1.1 项目开发的最佳实践   9.1.2 Eclipse的性能管理   9.2 定制工作台
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值