JavaScript的作用域和作用域链介绍
原创定义
- 范围就是代码 执行环境 ,全局执行环境是全局作用域,函数执行环境是私有作用域,它们是堆栈内存
- 作用域链在定义函数时确定。
- 内部环境可以通过范围链访问所有外部环境,但外部环境不能访问内部环境的任何变量和函数。
- 当您需要访问内部函数中的变量时,您将首先访问函数本身的变量对象,无论是否存在这样的变量,如果没有,则继续沿着作用域链查找,直到全局作用域。
作用域链在定义函数时确定。
var x=10;
function fn(){
console.log(x);
}
function show() {
var x=20;
fn();
}
show(); //输出10
-----------------------
var x=10;
function show() {
var x=20;
function fn(){
console.log(x);
}
fn();
}
show(); //输出20
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
相关文章
作者文章
- 解决SolidWorks2019许可证错误-85440 3个月前 (02-11)
- 解决sklearn.datasets.fetch_20newsgroups下载速度慢的问题 3个月前 (02-11)
- 解决sklearn.datasets.fetch_20newsgroups下载报错问题分享 3个月前 (02-11)
- 解决Scratch3.0scratch-hex文件下载失败问题 3个月前 (02-11)
- 解决RHEL7无法使用YUM源的问题 3个月前 (02-11)
热门
- 1 PHP导出csv文件 在PHP代码中想要将数据导出到浏览器,如下:持续下载 利用 php://output 输出流,以及 fputcsv 函数, yield 语法糖 public function export() { $regions = Regio...
- 2 Linux之使用Java空间 下载地址: Java Archive Downloads - Java SE 8u211 and later https://www.oracle.com/java/technologies/javase/javase8u211-late...
- 3 PHP生成器的操作yield功能优化 什么是生成器? 听着高大上的名字,感觉像是创造什么东西的一个功能,实际上,生成器是一个用于迭代的迭代器。它提供了一种更容易的方式来实现简单的对象迭代,相比较定义类实现Iterator接口的方式,性能开销和复杂性大大降低。 说了半天不如直接看...
- 4 一文看懂字符和字节的意思 前言 我们在数据库建表时,经常会困扰某个字段应该选择什么数据类型,以及填写什么长度。选择数据类型方面一般没什么大问题,但是在填写对应的长度的时候,很多人就会困扰,对应长度填写的数字到底是什么含义,以及会影响到哪些东西。笔者在翻阅网上的相关文...
- 5 css三角形原创 &::after { content: ‘’; position: absolute; width: 0; height: 0; border-top: 30rpx solid #fff; border-left: 30rpx so...
- 6 PHP使用redis实现分布式锁 话不多说直接上代码 $redisLock = Redis::lock(key, value, 5);//key使用商品id,value使用用户id拼接时间戳和随机字符 try { //获取锁:适用于n个人抢1个商品的场景,避免出现多...
- 7 SQLserverDate对象 前言: 在SQL server在中,当我们以日期和时间格式处理数据时,需要确保数据的格式与数据库中要求的格式一致,否则很容易看到数据无法插入到数据库中。或者在查询数据时存在显示不完整的问题。 我们可以通过数据库内置的日期处理程序来解决数据格...
- 8 JAVA内存泄漏详解(范例及解决办法)版权声明 尝试了通过一张图片转载,效果还可以,就是原博主的代码格式太酷炫,亮瞎了哈。?...
- 9 JavaScript编程实现防抖和排气 一、什么是防抖和节流 Ps : 比如搜索框,用户在输入的时候使用 change 事件去调用搜索,如果用户每一次输入都去搜索的话,那得消耗多大的服务器资源,即使你的服务器资源很强大,也不带这么玩的。 防抖 - debounce 其中一...
- 10 php前后端通过json数据传值转载 前端密钥代码密钥前端代码前端密钥代码(需要下载jquery-3.3.1): <script src="js/jquery-3.3.1.min.js" type="text/javascript"...
最新文章
- 解决SolidWorks2019许可证错误-85440 3个月前 (02-11)
- 解决sklearn.datasets.fetch_20newsgroups下载速度慢的问题 3个月前 (02-11)
- 解决sklearn.datasets.fetch_20newsgroups下载报错问题分享 3个月前 (02-11)
- 解决Scratch3.0scratch-hex文件下载失败问题 3个月前 (02-11)
- 解决RHEL7无法使用YUM源的问题 3个月前 (02-11)
- 解决Qt应用中遇到的libpngwarningiCCPknownincorrectsRGBprofile问题 3个月前 (02-11)
- 解决QT启动时找不到python36.dll问题 3个月前 (02-11)
- 解决Qt5在麒麟Linux下不能输入中文问题 3个月前 (02-11)
- 解决QT5.12.6使用32位MinGW编译器无法使用SSL协议问题 3个月前 (02-11)
- 解决PyTorchCUDA编译问题指南 3个月前 (02-11)