Javascript caller 和 callee 的区别
问题
Javascript caller 和 callee 的区别
callee
caller 返回⼀个函数的引⽤,这个函数调⽤了当前的函数。
使⽤这个属性要注意
这个属性只有当函数在执⾏时才有⽤
如果在 javascript 程序中,函数是由顶层调⽤的,则返回 null
functionName.caller: functionName 是当前正在执⾏的函数。
function a() {
console.log(a.caller)
}
callee
callee 放回正在执⾏的函数本身的引⽤,它是 arguments 的⼀个属性
使⽤callee时要注意:
- 这个属性只有在函数执⾏时才有效
 - 它有⼀个 length 属性,可以⽤来获得形参的个数,因此可以⽤来⽐较形参和实参个数是否⼀致,即⽐较 arguments.length 是否等于 arguments.callee.length
 - 它可以⽤来递归匿名函数。
 
function a() {
console.log(arguments.callee)
}
更多面试题
如果你想了解更多的前端面试题,可以查看本站的WEB前端面试题 ,这里基本包涵了市场上的所有前端方面的面试题,也有一些大公司的面试图,可以让你面试更加顺利。
| 面试题 | ||
|---|---|---|
| HTML | CSS | JavaScript | 
| jQuery | Vue.js | React | 
| 算法 | HTTP | Babel | 
| BootStrap | Electron | Gulp | 
| Node.js | 前端经验相关 | 前端综合 | 
| Webpack | 微信小程序 | - | 
这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!