[js] callee和caller的区别和作用是什么?

arguments.callee 指的是当前函数
Function.caller 指的是调用当前函数的函数
举个例子:

function a() {
  console.log(arguments.callee);
  console.log(a.caller); 
}
function b() {
  a();
}
b();
a();

控制台输出:
[Function: a]
[Function: b]
[Function: a]
null

作用:可以用在需要函数自调用,或者调用父函数的场景下

个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论

主目录

与歌谣一起通关前端面试题