码迷,mamicode.com
首页 > Web开发 > 详细

JS中arguments

时间:2017-03-14 10:31:57      阅读:398      评论:0      收藏:0      [点我收藏+]

标签:title   属性   pretty   java   20px   形参   检测   data   nbsp   

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

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

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

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

         ②【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")





JS中arguments

标签:title   属性   pretty   java   20px   形参   检测   data   nbsp   

原文地址:http://www.cnblogs.com/miys/p/2db6730109305b1b6f655508ce263781.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!