JS中的作用域链
作者:Lemon-x 时间:2024-11-02 23:25:24
在js中数据的声明方式有两种:
1、用var声明,例如:var num = 10;
2、直接声明,例如:num = 10;
两种声明方式在某些情况下是有区别的:
var data = 10;
function fn01(){
var data = 100;
function fn02(){
data = 1000;
function fn03(){
data = 10000;
}
fn03();
}
fn02();
}
fn01();
console.log(data);
此时data会是多少呢?
没错就是10
当在函数内使用var声明变量的时候这个变量就是局部变量,而当不使用var定义变量的时候这个变量就会是全局变量,当然这个全局变量也需要看定义的位置,这个全局变量会一直往上层寻找使用var定义的相同名称的变量,当寻找到时会替换其原来的变量,如果未找到则会自行定义一个全局变量;
var data = 10;
function fn01(){
data = 100;
function fn02(){
data = 1000;
function fn03(){
data = 10000;
}
fn03();
}
fn02();
}
fn01();
console.log(data);
此时的data就是10000了,你学会了吗?
来源:http://www.cnblogs.com/ningmeng666/p/6484010.html
标签:js,作用域链
0
投稿
猜你喜欢
记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制
2010-04-07 22:35:00
修改fckeditor的文件上传功能步骤
2023-03-19 17:31:28
Python 开发工具通过 agent 代理使用的方法
2022-10-19 05:15:31
golang 执行命令行的实现
2024-04-28 09:14:40
vue3缓存页面keep-alive及路由统一处理详解
2024-05-02 16:34:12
使用python-pptx包批量修改ppt格式的实现
2021-04-03 21:31:16
基于Python实现体育彩票选号器功能代码实例
2021-06-15 17:48:54
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
2022-11-13 08:36:56
七个生态系统核心库[python自学收藏]
2021-09-17 03:51:12
解决Goland 提示 Unresolved reference 错误的问题
2024-02-07 13:32:26
MySQL DQL语句的具体使用
2024-01-21 08:17:03
基于Python实现一个简单的学生管理系统
2023-07-23 23:06:40
Python装饰器详情
2021-10-22 07:22:49
Tensorflow自定义模型与训练超详细讲解
2023-09-19 10:18:00
javascript实现tabs选项卡切换效果(自写原生js)
2024-04-22 22:23:43
必备 SQL 查询优化技巧提升网站访问速度
2024-01-18 23:59:37
Node.js多进程的方法与参数实例说明
2024-05-02 17:37:37
IE 8 提出“超级标准模式”
2008-01-24 19:26:00
使用CSS3和RGBa创建超酷的按钮
2009-06-02 12:41:00
Python数据预处理时缺失值的不同处理方式总结
2022-02-14 22:58:25