<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>变量的作用域</title>
<script>
//变量的作用域: 根据作用域的不同,变量分为
//全局变量和局部变量
//1.全局变量:在全局作用域下的变量,在全局下都可以使用
//注意:在函数内部没有声明直接赋值的变量也属于全局变量
var num = 10;//num就是一个全局变量
console.log(num);
function fn(){
console.log(num);
}
fn();
//console.log(aru);//不能使用,因为函数的形参也是局部变量
//2.局部变量 在局部作用域下的变量(或者说在函数内部的变量就是局部变量)
function fun(aru){//函数的形参也是局部变量
var num1 = 10;//num1就是局部变量 只能在函数内部使用
num2 = 20;//赋值变量也是全局变量
}
fun();
console.log(num1);//不能被使用,num1是局部变量
console.log(num2);可以使用,函数内部未定义直接使用的变量也是全局变量
//3.从执行效率来看全局变量和局部变量
//(1)全局变量只有浏览器关闭的时候才会销毁,比较占内存资源
//(2)局部变量 当程序执行完毕就会销毁,比较节约内存资源
</script>
</head>
<body>
</body>
</html>
1.全局变量
在全局作用域下声明的变量叫做全局变量(在函数外部定义的变量)
(1)全局变量在代码的任何位置都可以使用
(2)特殊情况下,在函数内不使用var声明的变量也是全局变量(不建议使用)
2.局部变量
在局部作用域下声明的变量叫做局部变量(在函数内部定义的变量)
(1)局部变量只能在函数内部使用
(2)函数的形参实际上就是局部变量
3.全局变量和局部变量的区别
(1)全局变量:在任何一个地方都可以使用,只有在浏览器关闭的时候才会被销毁,因此比较占内存
(2)局部变量:之在函数内部使用,当其所在的代码块被执行时,会被初始化;当代码块运行结束后,
就会被销毁,因此更节省内存空间
4.JS (现阶段)没有块级作用域
js是在es6的时候增加了块级作用域
块级作用域就是用{}包含起来的代码;
JS学习之全局变量
最新推荐文章于 2024-01-18 08:50:29 发布