<!-- <!DOCTYPE html> -->
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var a = 10, b = 20;
function show(){
var b =100;
a += 5;
alert(a + ","+ b);
}
show();
alert(a + ","+ b);
</script>
</head>
<body>
</body>
</html>
<!-- <!DOCTYPE html> -->
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var a = 10, b = 20;
function show(a){
var b =100;
a += 5;
alert(a + ","+ b);
}
show(a);
alert(a + ","+ b);
</script>
</head>
<body>
</body>
</html>
上面两段代码为什么第一段代码show是(15,100);alert(15,20)
第二段代码show是(15,100);alert(10,20)?
谁能详细解释一下,完全懵逼
var a = 10, b = 20; //“全局”变量a 值是10,“全局”变量b 值是20
function show(){
var b =100; //“局部”变量b 值是100
a += 5; //“全局”变量a 值改为15
alert(a + ","+ b); //输出 ,a是15,b是100 (a全局,b局部)
}
show();
alert(a + ","+ b); //输出 a是15,b是20(a全局,b全局)
上面是第一段
下面是第二段
var a = 10, b = 20; //全局变量a 值10 ,全局变量b 值20
function show(a){ //这里引入了形参a,也就是说在show()内,a是个局部变量
var b =100; //局部变量b 值100(不影响外面的全局变量b)
a += 5; //局部变量a自加5,变成15,不影响外面的全局变量a
alert(a + ","+ b); //输出局部变量a=15,b=100
}
show(a);
alert(a + ","+ b); //输出全局变量a=10,b=20