标签:
作者:zccst
2014-6-10 自己构造一个Array like
类数组的构成要点:
1,元素是数组式索引
2,有length属性
2014-6-9
函数参数arguments是类数组,但不是数组。(arguments是对象)
如果希望转成真正的数组,则可以
var slice = [].slice;
slice.call(arguments);
也可以:Aarray.prototype.slice.call(arguments);
基础介绍
js进行函数调用时,除了指定的参数外,还创建一个隐含的对象——arguments。
一、arguments可以用arguments[index]这样的语法取值,拥有长度属性length。arguments对象存储的是实际传递给函数的参数,而不局限于函数声明所定义的参数列表,例如:
代码运行时会依次显示:1,2,1,2,3,4。函数定义了两个参数,但是在调用的时候传递了4个参数。
二、arguments的callee属性
它表示对函数对象本身的引用,这有利于实现无名函数的递归或者保证函数的封装性。例如:用递归来计算1到n的自然数之和:
arguments.callee表示引用当前正在执行的函数,或者说是调用arguments.callee的函数对象的引用,它给匿名函数提供了一种自我引用的方式。
更深入,包括了caller, call, apply
标签:
原文地址:http://www.cnblogs.com/shsgl/p/4289868.html