声明在当前函数中的变量和当前的形参,作用域都在该函数内;当函数调用结束以后,这些变量和形参会被释放;
【注】当遇到引用类型的时候就要注意。如【例2】
【例1】
var a = 10;
function show(a){
a = 5;
document.write(a);//5
}
document.write(a);//10
show(a); //5
document.write(a);//10
【例2】
var arr = [10,20];
function show(arr){
arr.push(30,40);
document.write(arr + "<br />");
}
document.write(arr + "<br />");//10,20
show(arr); //10,20,30,40
document.write(arr + "<br />");//10,20,30,40
这里arr却被改变了!
【原因】数组,属于符合数据类型/引用数据类型
【注】函数运行的内存空间是预先分配好的,一旦被分配好内存空间,就不能进行改变了。
【注】复合数据类型/引用数据类型,都不直接存储到我们的函数中,而是存储在堆中。