callee 和 caller 的关系和区别
caller 返回一个关于函数的引用,该函数调用了当前函数
callee 返回正在执行的函数,也就是指定的 function 对象的正文
caller 是 JavaScript 函数类型的一个属性,它引用调用当前函数的函数; callee 则不是函数对象的属性,它是函数上下文中 arguments 对象的属性。
callee
- callee 是 arguments 对象的属性
- arguments.callee 指向参数所属的当前执行的函数. 就是说 callee 返回正在被执行的 function 对象, 也就是所指定的 function 对象的正文
- callee 属性的初始值就是正被执行的 Function 对象.
- callee 表示对函数对象本身的引用,这有利于匿名函数的递归或者保证函数的封装性
- callee 拥有 length 属性,这个属性可用于验证。arguments.length 是实参长度,arguments.callee.length 是形参长度,可以判断调用时形参长度是否和实参长度一致。
区别
- caller 是 function 的属性
- callee 是 arguments 的属性
参考链接
https://cloud.tencent.com/developer/article/1391652
https://juejin.cn/post/6904943108375773198
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Web 项目性能提高
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论