函数内存机制原理
任何程序在执行的时候都要占用内存空间。函数调用的时候也要去占用内存空间。
垃圾回收机制:调用函数的时候,系统会分配对应的空间给这个函数使用(空间大小一般情况由这个函数里声明的变量和形参决定),当行数使用完毕以后,这个内存空间要使方,还给系统。
例子:
var a = 2;
function show() {
a++;
alert(a);
}
show();
show();
alert(a);
结果:
第一个show()的结果为3.
第二个show()的结果为4.
alert(a)的结果为4;
内存管理机制:在函数中声明的变量和形参,会随着函数的调用被创建,随着函数的调用结束而被销毁。在函数中声明的变量和形参,有效范围是当前函数(当前函数的大括号),作用域,局部作用域。
【注】在函数内部声明的变量和形参是属于当前函数的内存空间的。
例子:
function show() {
var a = 2;
a++;
alert(a);
}
show();
show();
alert(a);
这样的结果是:
第一次调用是3;
第二次调用还是3;
alert(a)会报错;( a is not defined);