函数变量作用域

来源:互联网 发布:linux vsftp安装包 编辑:程序博客网 时间:2024/06/05 05:25

作用域指变量的有效范围,一般分为全局和局部的,局部的一般是指定义在花括号{}之内的,函数内内嵌了至少一个作用域(一对花括号构成一个作用域),由于内嵌了很多作用域,所以这些变量因为定义在不同的作用域而生效范围不同。


局部变量

范围:在一个函数内部定义的变量,作用范围只限于本函数体内。

生存期:程序执行到本函数才会给局部变量分配内存单元,函数执行完毕局部变量所占的存储单元就被释放

静态局部变量

范围:函数体内,离开函数体就不起作用,但是值仍然被保留,下次被调用的时候使用的是上次的值

生存期:在编译阶段赋值,从程序运行开始就被分配固定的存储单元(静态存储区),整个程序运行期间不再重新分配,生存周期是整个程序运行期间

JS函数中如果要调用某个变量,它首先从函数内去查找。如例子中就是 a 是等于6;而在函数体内找不到c,于是,它就会在函数体外,往上找,找到即调用,找不到则报错。(JS由内而外)


0 0