arguments.callee 指向函数自身引用
function test(){
console.log(arguments.callee)
// arguments.callee === test
// ƒ test(){
// console.log(arguments.callee)
// }
}
test()
应用
写一个立即执行函数的阶乘
var numm = (function(n){
if(n == 1){
return 1
}
return n * arguments.callee(n-1)
}(10))
caller
函数的属性
返回在那个环境下调用的那个环境
function test(){
dome()
}
function dome(){ //dome被调用的环境是test
console.log(dome.caller)
//test(){
// dome()
//}
}
test()
在全局 返回null
function dome(){
console.log(dome.caller)
// null
}
dome()
es5 标准模式 不能用
'use strict'
function test(){
dome()
}
function dome(){ //dome被调用的环境是test
console.log(dome.caller)
//test(){
// dome()
//}
}
test()