JS中声明全局变量主要分为显式声明或者隐式声明。
1、显式声明就是使用var关键字在function外部声明,即为全局变量;在function内使用var关键词,会被声明为局部变量。
2、隐式声明就是没有使用var,直接给标识符test赋值。使用隐式声明的时候,即使该变量在一个function内,当该function被执行后变成了全局变量。
实例:显示/隐式变量申明
<html>
<body>
<script>
var test = 5;//全局变量
function a(){
aa = 3;//也是全局变量
console.log(test);
}
a();
console.log(aa);
</script>
</body>
</html>
3、使用window全局对象来声明,全局对象的属性对应也是全局变量
<html>
<body>
<script>
window.aa=11;
function a(){
console.log(window.aa);
}
a();
</script>
</body>
</html>
总结:尽可能使用var关键词,不要使用隐式申明,否则变量作用域会变得一团糟。特别是在变量多,名字容易出现重复的时候。