中午的时候稍微研究了下javascript function中的arguments
图书《网页制作与PHP语言应用》,由武汉大学出版社于2006出版,该书为普通高等院校网络传播系列教材之一,主要阐述了网页制作的基础知识与实践,以及PHP语言在网络传播中的应用。该书内容涉及:HTML基础知识、PHP的基本语法、PHP程序中的常用函数、数据库软件MySQL的基本操作、网页加密和身份验证、动态生成图像、MySQL与多媒体素材库的建设等。
<script type="text/javascript"> <br>window.onload = function() { <br>(function(arg1, arg2) { <br>alert(arguments.length); <br>alert(arguments.callee.length); <br>})(); <br>} <br></script>
其中观察了下arguments.length和arguments.callee
首先arguments当然只在function体内才有意义, arguments.length 返回的是传入function的实参个数,比如我这里没有传入什么,而是直接运行了一个匿名函数,那么第一个alert肯定是'0', 再来看arguments.callee返回的是调用的函数本身, 对于匿名函数,则可以通过arguments.callee得到自身的引用,这里arguments.callee.length返回的是function本预期要传入的参数个数,这样的话第二个alert就是'2', 如果这是个有名字的函数比如函数名为mytest,那么就可以直接mytest.length来得到应该传入的参数个数.










