当前位置:网站首页>js之作用域、作用域链、全局变量和局部变量
js之作用域、作用域链、全局变量和局部变量
2022-04-23 06:25:00 【小白蛋挞】
目录
一、Javascript作用域
就是代码名字在某个范围内起作用和效果。目的时为了提高程序的可靠性更重要的时减少命名冲突。
es6之前:全局作用域和局部作用域。
1、全局作用域
整个script标签,或者是一个单独的js文件。
2、局部作用域
在函数内部就是局部作用域,这个代码的名称只在函数内部起作用。
二、作用域链
只要是代码,就至少有一个作用域,写在函数内部的局部作用域,如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域。
根据在内部函数可以访问外部函数变量的这种机制,用链式查找决定哪些数据能够被内部函数访问,就称作用域。 原则是就近原则。
以下代码输出 12 ,还有注意点是函数只有被调用才会执行。只有执行到语句f2()时,才会执行函数f2()中的语句。
var num = 23;
function f1() {
var num = 12;
function f2() {
console.log(num);
}
f2();
}
f1();
三、根据作用域的不同,变量可以分为两种
1、全局变量
在全局作用于域的变量,在函数外部定义的变量,在代码任何位置都可以使用。num就是一个全局变量,b也是,因为如果在函数内部,没有声明直接赋值的变量也是全局变量。
<script>
var num = 20;
console.log(num);
function fn() {
var a = 20;
b = 30;
console.log(a);
}
</script>
2.局部变量
在函数内部的变量,只能在函数内部使用。a是局部变量,形参也是局部变量。
//局部变量在程序执行完毕就会销毁,比较节约
//全局变量只有在浏览器关闭的时候才会销毁,比较占资源
版权声明
本文为[小白蛋挞]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_61547956/article/details/124128032
边栏推荐
猜你喜欢
![[Educational Codeforces Round 80] 解题报告](/img/54/2fd298ddce3cd3e28a8fe42b3b8a42.png)
[Educational Codeforces Round 80] 解题报告

ABAP CDS VIEW WITH ASSOCIATION示例

页面实时显示当前时间

Django使用mysql数据库报错解决

Implementation of MySQL persistence

SAP pi / PO rfc2restful publishing RFC interface is a restful example (proxy indirect method)

‘npm‘不是内部或外部命令,也不是可运行的程序 或批处理文件

SAP 导出Excel文件打开显示:“xxx“的文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?

Date对象(js内置对象)

int a = 1存放在哪
随机推荐
对STL容器的理解
1. View databases and tables
SAP pi / PO rfc2soap publishes RFC interface as WS example
Mysql持久性的实现
经典套路:一类字符串计数的DP问题
常用的DOS命令
7. sub query
[LNOI2014]LCA——树链剖分——多点LCA深度和问题
两个线程交互打印奇偶数字
11.表和库的管理
npm 安装踩坑
快速傅里叶变换FFT简明教程
Learn to use search engines
SAP TRANSLATE使用数据对象掩码示例
ABAP 实现发布RESTful服务供外部调用示例
5. Sql99 standard: internal connection and external connection
(扩展)BSGS与高次同余方程
BTree、B+Tree和HASH索引
SAP CR传输请求顺序、依赖检查
积性函数与迪利克雷卷积