首页 > 代码库 > JS中arguments

JS中arguments

对象数组:主要保存函数参数
        属性:cellee,指向拥有arguments对象的函数。
           返回正被执行的Function 对象,
           也就是所指定的 Function 对象的正文。callee 属性是 arguments 对象的一个成员,仅当相关函数正在执行时才可用。
        This:函数调用语句所在作用域。函数的调用者。
{
Argument的个数是由实参决定的,不是形参决定的
对于arguement和形参,实参值都存在的情况下,形参和arguement是同步的,否则为未定义
形参从严格意义上就是为了函数内部方便操作,实际值已存储在argument中
}
(一)是所在函数的一个内置类数组对象,可以用数组的[i]和.length。
         ①length

当 Function 对象开始执行时,脚本引擎将 arguments 对象的 length 属性初始化为传递给该函数的实际参数数目。

js不会主动为你判断你到底给函数传了多少个参数,如果你多传了,多余的部分就没有被使用,如果你少传了,那么没传的参数值就是undefined

所以我们可以借助arguments的length属性来检测调用函数时是否使用了正确数目的实际参数,因为javascript是不会为你做这些事的

来源: http://www.studyofnet.com/news/215.html

         ②【i】
返回一个 arguments 对象中的各个参数的实际值,相应的值是由一个正在执行的函数的 arguments 属性返回的。
  1. function ArgTest(){
  2. var s = "";
  3. s += "The individual arguments are: "
  4. for (n=0; n< arguments.length; n++){
  5. s += ArgTest.arguments[n];
  6. s += " ";
  7. }
  8. return(s);
  9. }
  10. print(ArgTest(1, 2, "hello", new Date()));

二)arguments这个对象不能显式创建,arguments对象只有函数开始时才可用。
(三)不需要明确指出参数名,就能访问它们,例如:

  1. function test(){
  2. var s;
  3. for(int i=0;i<arguments.length;i++)
  4. {
  5.   s+=arguments[i]+",";
  6. }
  7. return s;
  8. }
  9. test("name","age")



null


JS中arguments