argument

说明:

  在JavaScript中,arguments是对象的一个特殊属性。arguments对象就像数组,但是它却不是数组。可以理解为他是潜伏者,通俗的说,就是你传的参数不一定按照参数列表的方式来,多的就进arguments里。

属性:

  length, 获取arguments对象的长度。

 

  callee, 引用当前正在执行的函数。

 

编辑本段举例:

1.参数的长度

  window.onload = function(){

 

  abc(1,2,3);

 

  }

 

  function abc(){

 

  //虽然这里没有引用参数,但是arguments仍能捕获到

 

  alert(arguments.length);

 

  }//output 3

2.隐藏的参数

  function abc(x,y){

  for(var i=0;i<=arguments.length;i+=){

 

  alert(arguments[i]);

 

  }

 

  }//output: 1,2,3  

3.改变参数值

  function abc(x,y,z){

 

  arguments[2] = "hello";

 

  for(var i=0;i<=arguments.length;i+=){

 

  alert(" "+arguments[i]);

 

  }

 

  }//output: 1 2 hello

4.递归

  求1到n的自然数之和

 

  function add(x){

 

  if(x == 1) return 1;

 

  else return n + arguments.callee(n-1);

 

  }

 

  其实callee对于没有命名的函数调用自身时就是一个福音了,比如对于没有命名的函数求1到n自然数之和

 

  var result = function(x){

 

  if(x == 1) return 1;

 

  return x+arguments.callee(x-1);

 

  }

js中的潜伏者之Arguments对象的更多相关文章

  1. JS中如何判断对象是对象还是数组

    JS中如何判断对象是对象还是数组 一.总结 一句话总结:typeof Array.isArray === "function",Array.isArray(value)和Objec ...

  2. 如何在Node.js中合并两个复杂对象

    通常情况下,在Node.js中我们可以通过underscore的extend或者lodash的merge来合并两个对象,但是对于像下面这种复杂的对象,要如何来应对呢? 例如我有以下两个object: ...

  3. js中的函数,Date对象,Math对象和数组对象

    函数就是完成某个功能的一组语句,js中的函数由关键字 function + 函数名 + 一组参数定义;函数在定义后可以被重复调用,通常将常用的功能写成一个函数,利用函数可以使代码的组织结构更多清晰. ...

  4. 细看JS中的BOM、DOM对象

                                        DOM对象模型  DOM(Document Object Model),是指文档对象模型,是W3C组织推荐的处理可扩展标志语言的 ...

  5. js中, 用变量或对象作为if或其他条件的表达式

    源: 因为js是弱语言, 就体现在js的变量是弱类型的, 在js中所有变量类型声明都用var, 而在其他强类型语言中,如java/c,必须有强制类型转换和类型检查才能编译通过等, 但是: 弱语言也有优 ...

  6. jQuery UI =>jquery-ui.js中sortable方法拖拽对象位置偏移问题

    今天要处理sortable方法处理的对象,拖拽的时候,位置偏移的问题. 按理应该是鼠标在哪,对象就跟着在哪的 百度了一下问题,http://blog.csdn.net/samed/article/de ...

  7. js中如何返回一个存放对象的数组?

    我这边需要返回后台数据的形式是这样的 {[ { ", }, { ", }, { ", }, { ", }, { ", } ]} 页面是通过循环去获取每 ...

  8. js中的eval方法转换对象时,为何一定要加上括号?

    待转换的是一个Json字符串: {'name':'新欢'} 而使用如下这种方式调用则会抛出语法异常, eval("{'name':'新欢'}"); 必须加上括号才行 eval(&q ...

  9. JS中闭包、函数与对象的介绍和用法

    闭包 闭包概念:当一个内部函数被调用,就会形成闭包,闭包就是能够读取其他函数内部变量的函数,定义在一个函数内部的函,创建一个闭包环境,让返回的这个子程序抓住i,以便在后续执行时可以保持对这个i的引用. ...

随机推荐

  1. octopress的一些总结

    1.编辑_config.yml 的description时,不能使用tab键 2.修改主题‘MediumFox’  description 和 文章展示的宽度,修改文件home_landing_row ...

  2. [转]关于strtok和strtok_r函数的深度研究

    在linux环境下,字符串分割的函数中,大家比较常用的是strtok函数,这个函数用处很大,但也有一些问题,以下将深度挖掘一下这个函数的用法,原理,实现,其次,该函数是不可再入函数,但是在linux ...

  3. 关于日历控件My97DatePicker 在IE6下出现“无法打开站点,已终止操作”

    1.My97DatePicker 官方:http://www.my97.net2.在IE6下出现“无法打开站点,已终止操作”的解决办法(转): .这是一个绝对有效的方法,但是会丢失跨越iframe的特 ...

  4. uva10622 Perfect P-th Powers

    留坑(p.343) 完全不知道哪里有问题qwq 从31向下开始枚举p,二分找存在性,或者数学函数什么的也兹辞啊 #include<cstdio> #include<cstring&g ...

  5. aaalogo写入中文出错的解决方法

    一.软件名称: 二.软件用途: 制作小logo 三.问题: aaalog软件不能支持中文输入. 简单的说该软件不能使用中文纯粹是因为字体不支持的原因, 只要导入相应字体就可以 不知道其他人使用aaal ...

  6. 分享一个很好看的WPF界面

    今天在http://www.iopenworks.com/Products/ProductDetails/Introduction?proID=386 上面看到的,先mark下来...... 地址:h ...

  7. 怎样给filter加入自己定义接口及调用

    本样例是在VirtualCamera的基础上加入的自己定义接口用来实现exe控制osd的显示. 1. 接口部分 #ifndef __H_MyFilter__#define __H_MyFilter__ ...

  8. nrf51822蓝牙芯片ble_app_proximity程序总结

    近期由于钥匙的事情,研究了下官方自带的ble_app_proximity程序,事实上就是跟防丢有关系的程序. 同一时候也发现了看nordic程序的一些门道,主要还是看协议栈里面的一些service,首 ...

  9. android 34 ListView进阶

    public View getView(int position, View convertView, ViewGroup parent) {////convertView是一个缓存,每次返回一个la ...

  10. I/O体系结构和设备驱动程序

    http://blog.csdn.net/kafeiflynn/article/category/789844