一.callee与caller
1.callee
function f1(a,b){
console.log(arguments.length) //3 实参长度
console.log(arguments.callee.length) //2 形参长度
console.log(arguments.callee) // f1
console.log(f1.length) //2
}
f1(2,3,4)
2.caller: 报错调用当前函数的函数引用
如在全局作用域中调用当前函数,为null
function outer(){
inner()
}
function inner(){
console.log(inner.caller); // outer函数
}
outer()
console.log(inner.caller); // null
练习: 统计数字和,利用递归及callee
f(10) ---1+2+3..+10
二.js垃圾回收机制(GC)
1.GC -- garbage collection ,js具有"自动"垃圾回收机制
即执行环境会负责管理代码执行过程中使用的内存
2.GC会定期(周期性)找出哪些不在继续使用的变量,释放其内存
3.不再使用的变量,即生命周期结束的变量会被释放 -- 只能是局部变量
全局变量的生命周期,直到浏览器卸载页面才会结束
var a=1
function f1(){
var