全局变量和局部变量
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS的局部变量和全局变量</title>
</head>
<body>
<script type="text/javascript">
/*
全局变量:
在函数体之外声明的变量属于全局变量,全局变量的生命周期是:
浏览器打开时声明,浏览器关闭时销毁,尽量少用。因为全局变量会一直在浏览器的内存当中,耗费内存空间。
能使用局部变量尽量使用局部变量。
局部变量:
在函数体当中声明的变量,包括一个函数的形参都属于局部变量,
局部变量的生命周期是:函数开始执行时局部变量的内存空间开辟,函数执行结束之后,局部变量的内存空间释放。
局部变量生命周期较短。
*/
// 全局变量
var i = 100;
function accessI(){
// 访问的是全局变量
alert("i = " + i);
}
accessI();
// 全局变量
var username = "jack";
function accessUsername(){
// 局部变量
var username = "lisi";
// 就近原则:访问局部变量
alert("username = " + username);
}
// 调用函数
accessUsername();
// 访问全局变量
alert("username = " + username);
function accessAge(){
var age = 20;
alert("年龄 = " + age);
}
accessAge();
// 报错(语法不对)
// alert("age = " + age);
// 以下语法是很奇怪的.
function myfun(){
// 当一个变量声明的时候没有使用var关键字,那么不管这个变量是在哪里声明的,都是全局变量.
myname = "dujubin";
}
// 访问函数
myfun();
alert("myname = " + myname); // myname = dujubin
</script>
</body>
</html>