caller、callee的用法及区别
2024-09-05 06:16:45
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)}
最新文章
- MVC中权限管理
- WPF学习之路(二) XAML
- LA 2965 Jurassic Remains
- selenium在chrome上运行报 Element is not clickable at point (1096, 26)
- [Practical Git] Navigate git command pager output with Unix less commands
- 数据库 - FMDB
- Linux&;shell之结构化命令
- mysql group_concat函数是有长度限制的
- UI设计师不可不知的安卓屏幕知识
- gwt CellTable中的控件按Tab键切换
- Linux下安装php开发框架yaf
- apicloud上传图片
- 基于ARM-contexA9-蜂鸣器pwm驱动开发
- linux中gcc和g++的区别
- LeetCode(69):x 的平方根
- postgresql中使用distinct去重
- January 07th, 2018 Week 01st Sunday
- Python全栈-day14-模块和包
- P4980 【模板】Polya定理
- JavaScript 继承总结