JavaScript作用域

在 JavaScript 中

  1. 对象和函数同样也是变量。
  2. 作用域为可访问变量,对象,函数的集合。
  3. 作用域在函数内修改。

分为:

  1. 全局作用域
    变量在函数外定义,即为全局变量。
    全局变量有 全局作用域: 网页中所有脚本和函数均可使用。
  2. 局部作用域(函数作用域)
    含义:变量的
    作用:起作用的
    域:区域 范围
var name = "xm";//全局变量
		function fn(argument){
			var sex = "male";
			console.log(name);//xm 全局的变量可以访问
		}
		fn();

		var name = "xm";
		function fn(argument){
			var sex = "male";
		}
		console.log(sex);//局部作用域 访问不到
		fn();

JavaScript解析机制

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>js的解析机制</title>
	<script type="text/javascript">
		var name = "xm";
		var age = 18;
		function fn(){
			var name = "xh";
			var age = 10;
			console.log(name);//xh
		}
		fn();

		var name = "xm";
		var age = 18;
		function fn(){
			console.log(name);//undefined js的预解析机制
			var name = "xh";
			var age = 10;
		}
		fn();

		console.log(a);//undefined
		var a = 1; //变量提升
		console.log(a);//1
	</script>
</head>
<body>
	
</body>
</html>

常见的四种作用域范围类型

一、

var a = 1;
		function fn (){
			console.log(a);//undefined
			var a = 2;
		}
		fn();
		console.log(a);//1

二、

var a = 1;
		function fn(){
			console.log(a);//1 这里的fn作用域中没有找到var定义 所以只能往外找,输出第一个a=1
			a = 2;//由于它没有var定义,所以这里的a是全局变量 覆盖
		}
		fn();
		console.log(a);//2

三、

var a = 1;
		function fn(a){//fn作用域中的局部变量 var a;
			console.log(a);// undefined 预解析机制
			a = 2;//这里的a 修改的是局部变量
			console.log(a);//2
		}
		fn();
		console.log(a);//1

四、

var a = 1;
		function fn(a){
			console.log(a);//1
			a = 2;//这里的a 修改的是局部变量
		}
		fn(a);//读取的是全局a 所以第一个a输出1
		console.log(a);//1

内存和垃圾处理机制

概念:当变量不用的时候,可以手动解除它的引用,设置为null,就相当于清楚内存

var num = 1;
//清除缓存
function fn(){
	num = null;
}

总结

  1. 变量保存数据容器。
  2. 变量命名规则和建议。
  3. 基本数据类型和引用数据类型区别:
  4. 作用域:全局和函数作用域。
  5. 内存清除:设置null。
    如图:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值