arguments,callee和caller

来源:互联网 发布:房价m2知乎 编辑:程序博客网 时间:2024/05/16 15:21

arguments

  • 每个函数都会有Arguments对象实例arguments,它包含传入函数的实参。
  • arguments类型是对象,但是也是个类数组。
  • 它可以使用数组的length来看参数的数量,但是不能使用数组的方法,如pop等。
  • 将它转换为数组:
    • Array.prototype.slice.call(arguments, 0);
    • [].prototype.slice.call(arguments, 0);
    • Array.from(arguments)
  • 常见的类数组主要是arguments和获取的DOM元素(datalist)。
  • 使用arguments可以模拟实现函数的重载。

callee

callee是arguments的一个属性,表示正在执行的函数。可以使用它进行递归操作。

caller

caller是函数的一个属性,代表调用该函数的函数。若没有则为null。

原创粉丝点击