javaScript总结51: 变量查找规则与词法作用域
2024-09-04 18:21:30
作用域:
1 在es5.0中只有函数可以构成一个作用域 2 全局作用域: 整个js代码执行的环境 3 局部作用域: 函数可以构成一个局部作用域 4 全局变量: 在全局作用域中申明的变量 5 局部变量: 在函数构成的局部作用域中申明的变量
var a = 1;
function fn(){
var a = 2;
function fnA(){
a = 3;
console.log(a); //
}
fnA();
console.log(a); //
}
fn();
console.log(a);//
词法作用域(静态作用域):
- 外部作用域不能访问内容作用域的变量
- 查找变量时,顺着作用域链查找
- 在代码执行之前,先执行预解析规则
- 如果要调用函数,函数内部也要先进行预解析
- 如果要给变量赋值之前,一定要先找到变量
变量的查找规则
1 先在自己的作用域里面找,如果没有就顺着作用域链往上找,找到则返回,找不到则一直找到全局为止 2 如果要直接赋值的话,找到全局也没有,那么浏览器会帮我们自动创建一个出来 3 如果只是访问的话,找到全局都没有就报错 xxx is not defined
最新文章
- 利用HTML5定位功能,实现在百度地图上定位
- trigger() &; bind() 使用心得
- jQuery经典面试题及答案精选(转)
- Atitit. C# java 的api 目录封装结构映射总结
- JavaScript案例六:简单省市联动(NBA版)
- 数据库操作sql【转】
- 用户View,五大布局
- WPF的MVVM模式
- JAVA基础--事务处理
- vue-router2.0动态路由获取参数
- nodejs 实践:express 最佳实践 (一)
- Java报文或者同步的数据有个别乱码情况的处理.
- 跟着弦哥学人工智能2—HAND-CRAFTED RULES实现的人工智能及其缺陷
- 学习ASP.NET Core Razor 编程系列一
- Jmeter3.2源码编译环境搭建
- 推荐一款免费的PDF转换工具 | PDFCandy
- Docker:Docker 性质及版本选择 [三]
- async+await处理异步问题
- currval &;nextval的差异理解
- Oracle取月份-不带前面的0
热门文章
- Python Issue: ValueError unknown locale: UTF-8 on OS X (Spyder)
- Python Strings
- 深入浅出 Java Concurrency (13): 锁机制 part 8 读写锁 (ReentrantReadWriteLock) (1)
- SqlServer 获得存储过程的返回值(参数返回),别玩了output
- 正则表达式RE与扩展正则表达式ERE——grep与egrep
- flutter container image FittedBox AspectRatio
- 创建excel,合并单元格,设置单元格样式
- 2018-2019第一学期Java助教心得
- partial分部类
- 【HDU 6191】Query on A Tree 【可持久化字典树】