大家好,今天我们分享JavaScript变量作用域
在JavaScript当中,var 定义的变量实际上是有作用域的
假如在函数体中声明,那么在函数体外就无法使用
举个例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试实例</title>
<script>
function wo() {
var x=1;
x =x+1;
}
x=x+2; //ReferenceError! 无法在函数体外引用变量x
</script>
</head>
<body>
</body>
</html>
在浏览器上观测:
如果说两个函数使用相同的变量名,只要是在函数内部,就不会冲突
再写源码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试实例</title>
<script>
function wo() {
var x=1;
x =x+1;
}
function wo1() {
var x='a';
x =x+1;
}
</script>
</head>
<body>
</body>
</html>
在浏览器控制台上测试:
这就是结果
换句话说,不同函数内部的同名变量互相独立,互不影响
下面讲:
//内部函数可以访问外部函数的成员.
// 而外部函数不能访问内部部函数的成员
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试实例</title>
<script>
'use strict';
function wo() {
//这是一个函数
var x=1;
//我们把它看做一号函数区
//内部函数可以访问外部函数的成员.
// 而外部函数不能访问内部部函数的成员
}
function wo1(