callee 和 caller 的关系和区别

发布于 2023-09-17 09:18:07 字数 901 浏览 21 评论 0

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技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

不必你懂

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

qq_E2Iff7

文章 0 评论 0

Archangel

文章 0 评论 0

freedog

文章 0 评论 0

Hunk

文章 0 评论 0

18819270189

文章 0 评论 0

wenkai

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文