1、官方说明html
点击访问app
2、使用心得函数
arguments包含了当前执行方法的参数,注意,不包含默认参数!spa
arguments能够全局访问,能够在任何方法里访问,除此以外,在定义变量的时候或者初始化的时候是不能访问的。code
arguments本质上是一个Array的实例,可使用任何Array的方法,不过又比Array多了一个属性:callee,这个属性表示当前正在执行的方法的引用,好比你在某个方法test下断点,当断点到此处的时候,callee===test。orm
arguments的每一个实例都是不一样的,也就是说,执行到不一样的方法,存在不一样的arguments实例,不过你能够将它们的实例保存下来,这些实例之间并不会产生冲突。htm
3、注意事项对象
特别要说明的是,关于arguments.length,先看代码:blog
1 function test1(p1:int, p2:int) 2 { 3 trace(arguments.length) 4 trace(arguments) 5 } 6 7 function test2(p1:int, p2:int = 400) 8 { 9 trace(arguments.length) 10 trace(arguments) 11 } 12 13 test1(100,200) 14 test2(300) 15 16 //output: 17 2 18 100 200 19 1 20 300
test2有一个默认参数,但在执行时,arguments并同有把这个默认参数算在里面。队列
4、实际应用
5、杂项
这里还用到了Function这个对象的apply方法,关于这个方法,能够看一上官方的文档,点击查看。
获取当前正在执行的方法名,网友的方法,点击查看。
(new Error()).getStackTrace().split("/")[1].split("(")[0]