JS 作用域知识点与案例

本文详细解释了JavaScript中的作用域概念,包括全局作用域、局部作用域以及它们的区别,强调了全局变量的内存消耗和局部变量的执行效率。此外,还介绍了作用域链的工作原理和一个实际案例。
摘要由CSDN通过智能技术生成
<template>

</template>

<script>
	export default {
		data() {
			return {

			}
		},

		onLoad() {
			// 作用域导读
			// 1. js 作用域  就是代码名字(变量)在某个范围内起到作用与效果
			// 目的 就是为了提高程序的可靠性更重要的是减少命名冲突
			// 2. js作用域(es6)之前 全局作用域 局部作用域
			// 3. 全局作用域 : 整个script 标签 或者是一个单独的js 文件
			var num = 10;
			console.log(num)
			// 10
			// 4.局部作用域(函数作用域) 在函数内部就是局部作用域 这个代词的名字只有在函数内部起到效果与作用
			function fn() {
				// 局部作用域
				var num = 20;
				console.log(num)
				// 20
			}
			fn();
			// 变量的作用域
			// 变量作用域的分类
			// js 中 根据作用域的不同 变量可以分为两种
			// 全局变量   在全局作用域下的变量 在全局下都可以使用
			// 注意 如果在函数内部 没有声明直接赋值的变量也是属于全局变量
			// 局部变量
			// 1.全局变量 
			var num = 30;
			console.log(num)
			// 30

			function fu() {
				console.log(num)
			}
			fu();
			// 30


			// 2 局部变量 在局部作用域下的变量 后者在函数内部的变量就是局部变量
			// 注意 函数的形参也可以看做是局部变量
			// function fus() {
			// 	// var num3 = 50;
			// 	num4 = 100;
			// }
			// fus();
			// console.log(num3); 结果报错
			// console.log(num4); 结果找不到
			// 3 从执行效率来看全局变量和局部变量
			// (1)全局变量只有游览器关闭的时候才会销毁 比较占内存资源
			// (2)局部变量 当我们程序执行完毕就会销毁 比较节约内存资源

			// 作用域链 内部函数访问外部函数的变量 采取的是链式查找的方式来决定取那个值 这种结构称之为作用域链
			// 就近原则
			var num6 = 10;

			function fues() {
				var num6 = 50;

				function fuse() {
					console.log(num6)
				}
				fuse();
			}
			fues();

			// 作用链案例
			// 案列1 结果是几?
			function f1() {
				var num8 = 123;

				function f2() {
					console.log(num);
				}
				f2();

			}
			var num9 = 456;
			f1();

			// console.log(num); 123
		}

	}
	methods: {

	}
</script>

<style>

</style>

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值