作用域:
- 作用域是可访问变量,对象,函数的集合
- JavaScript函数作用域:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的
如.
//此处不能调用car变量
function myFunc(){
var car="Smart";
//此处即函数内部可调用car变量
}
//此处不能调用car变量
局部变量:
- 局部变量:在函数内部用var声明的变量
- 局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量
(函数参数只在函数内起作用,属于局部变量) - 局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁
全局变量:
- 全局变量:变量在函数外定义,网页上的所有脚本和函数都能访问它
注:函数中没有用var声明的变量都是全局变量
变量生命周期:
- 变量生命周期在声明变量时开始
- 局部变量在函数执行完毕后被销毁
- 全部变量在页面关闭后被销毁
例.
<body>
<p id="demo"></p>
<script>
myFunc();
document.getElementById("demo").innerHTML = window.carName;
function myFunc(){
carName="Nico";
}
</script>
</body>
在 HTML 中, 全局变量是 window 对象