深入理解javascript之arguments

前端之家收集整理的这篇文章主要介绍了深入理解javascript之arguments前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

每一个函数在定义的时候都会有一个内置的arguments属性,这个arguments属性类似数组但又不是数组。它具有数组的访问方式和length属性,却又有caller,callee等属性

caller

对于函数来说,caller 属性只有在函数执行时才有定义。假如函数是由顶层调用的,那么 caller 包含的就是 null 。
假如在字符串上下文中使用 caller 属性,那么结果和 functionName.toString 相同,也就是说,显示的是函数的反编译文本。

callee

callee 属性是 arguments 对象的一个成员,他表示对函数对象本身的引用,这有利于匿名函数的递归或确保函数的封装性。
callee拥有length属性,这个属性有时候用于验证还是比较好的。
arguments.length是实参度,arguments.callee.length是形参长度,由此能够判断调用时形参长度是否和实参长度一致。
callee还有一个作用就是用来调用函数自身

猜你在找的JavaScript相关文章