变量的作用域:变量的作用范围
根据作用域不同,将变量分为以下两类:
(1)全局变量
1.在函数外部定义的变量
2.变量定义时未使用var关键字
3.window对象的属性
(2)局部变量
1.在函数内部定义的变量(包含参数位置)
总结:
全局变量生命周期较长,占用内存时间长,不利于回收
局部变量生命周期较短,当函数调用完毕时,等待回收,满足快速释放
推荐多使用局部变量,少使用全局变量
例如:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
//var a=10;//全局变量
//console.log(a);//全局变量
</script>
</head>
<body>
<!-- <script type="text/javascript">
//console.log(a);//全局变量
</script> -->
<script type="text/javascript">
// var a=10;//全局
// function show(){
// console.log(a);//全局变量
// }
// show();
// var a=10;//全局变量
// function show1(){
// var b=20;//局部变量
// console.log(a);//全局
// console.log(b);//局部
// }
// function show2(){
// var c=30;//局部
// console.log(a);//全局
// console.log(b);//局部 没有变量 保错
// console.log(c);//全局
// }
// show1();
// show2();
// var a=10;
// function show(){
// var a=20;//局部变量
// console.log(a);//就近原则
// }
// show();
// var a=5;//全局变量
// function show(){
// var a=10;//局部变量
// console.log(a);//就近原则
// a=3;//就近原则
// console.log(a);
// }
// show();
// console.log(a);//全局变量*/
var b=5;//全局
function show(b){
b=8;//局部
console.log(b);//就近
}
show();
console.log(b);//全局
</script>
</body>
</html>