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!