• as3 arguments.callee与... (rest)


    import flash.display.Sprite;
    
    var count:int = 1;
    ArgumentsExample()
    function ArgumentsExample()
    {
    	firstFunction();
    }
    
    function firstFunction()
    {
    	trace(count + ": firstFunction");
    	
    	secondFunction(arguments.callee);
    	
    }
    
    function secondFunction(caller:Function)
    {
    	trace(count + ": secondFunction
    ");
    	count++;
    	if(count<3)
    	caller();
    }
    

     输出:

    1: firstFunction
    1: secondFunction

    2: firstFunction
    2: secondFunction

    以上代码演示如何获得对函数的引用,该函数调用名为 secondFunction() 的函数。

    官方解释:

    用于存储和访问函数参数的参数对象。在一个函数体内,可以使用局部参数变量来访问其参数对象。

    这些参数存储为数组元素:第一个存取为 arguments[0],第二个存取为 arguments[1],依此类推。arguments.length 属性表示传递给函数的参数数目。传递的参数数目可能与函数声明的数目有所不同。

    与以前版本的 ActionScript 不同,ActionScript 3.0 中不包含 arguments.caller 属性。要获得对调用当前函数的函数的引用,必须将一个引用作为参数传递给该函数。可从 arguments.callee 示例中找到该技术的示例。 

    针对:要获得对调用当前函数的函数的引用,必须将一个引用作为参数传递给该函数。这句话。理解不透

    ... (rest) parameter 定义关键字 
    
    用法 
    function functionName(parameter0, parameter1, ...rest){ 
    	// statement(s) 
    }  
    

     

    ... (rest)与arguments用法差不多。不过没有arguments的callee方法。

     

  • 相关阅读:
    swagger生成接口文档
    二分查找通用模板
    go-json技巧
    【Go】获取用户真实的ip地址
    数据库储存时间类型
    密码加密:md5/sha1 +盐值
    参数里时间格式的转换
    不好定位的元素定位
    vim编辑器
    ps -ef | grep php kill -9
  • 原文地址:https://www.cnblogs.com/dt1991/p/7714942.html
Copyright © 2020-2023  润新知