js 中 callee 与 caller 的作用

简介: js 中 callee 与 caller 的作用

1.caller 返回一个调用当前函数的引用 如果是由顶层调用的话 则返回 null


(举个栗子哈 caller 给你打电话的人 谁给你打电话了 谁调用了你 很显然是下面 a 函数的执行 只有在打电话的时候你才能知道打电话的人是谁 所以对于函数来说 只有 caller 在函数执行的时候才存在)


var callerTest = function() {
    console.log(callerTest.caller);
};
 
function a() {
    callerTest();
}
a(); //输出function a() {callerTest();}
callerTest(); //输出null


2.callee 返回一个正在被执行函数的引用 (这里常用来递归匿名函数本身 但是在严格模式下不可行)


callee 是 arguments 对象的一个成员 表示对函数对象本身的引用 它有个 length 属性(代表形参的长度


var c = function(x, y) {
    console.log(arguments.length, arguments.callee.length, arguments.callee);
};
c(1, 2, 3); //输出3 2 function(x,y) {console.log(arguments.length,arguments.callee.length,arguments.callee)}


目录
相关文章
|
7月前
|
JavaScript 前端开发 算法
JavaScript 中 callee 与 caller 的作用
JavaScript 中 callee 与 caller 的作用
269 2
|
7月前
|
JavaScript 前端开发
JavaScript 中 callee 与 caller 的作用
JavaScript 中 callee 与 caller 的作用
|
7月前
|
JavaScript 前端开发
JavaScript 中 callee 与 caller 的作用
JavaScript 中 callee 与 caller 的作用
|
7月前
|
JavaScript 前端开发
JavaScript 中 callee 与 caller 的作用
JavaScript 中 callee 与 caller 的作用
53 1
|
28天前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
25 1
JavaScript中的原型 保姆级文章一文搞懂
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
103 2
|
24天前
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
17 0
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
146 4
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
89 4