JavaScript没有块级作用域,取而代之地使用了函数作用域。
函数里声明的所有变量(但不涉及赋值)都被"提前"至函数体的顶部。
变量在函数外定义,即为全局变量
变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。
在 HTML 中, 全局变量是 window 对象: 所有数据变量都属于 window 对象。
一般情况下,window对象的内置属性都拥有全局作用域,例如window.name、window.location、window.top等
举例
globalVar.html文件 源码如下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
// 定义全局变量carName
var carName = "奔驰S450";
// 定义函数myFun
function myFun()
{
// 函数内不使用var定义的carAge也是全局变量
carAge = 100;
// 函数内使用var定义的carType是局部变量
var carType = "德国";
alert(carType);
}
myFun();
alert(carName + "\n"+ carAge);
alert(carType);
</script>
</head>
<body>
</body>
</html>