星空网 > 软件开发 > Java

JavaScript中var a=b=c=d的小发现

看了别人的博客随手记录下

先看一下以下的代码

1 var a=1,b=2,c=3;2   3   (function(){4     var a=b=1;5   })();6 7   console.log(a);8   console.log(b);

这是大家众所周知的闭包了,没错,闭包的一个很重要的用途就是变量不能在外部访问,不会污染外部变量,所以大家是不是会认为7,8行的结果分别是1 2 呢?其不然,7,8行的正确结果是1,1。

JavaScript中var a=b=c=d的小发现

为什么会这样呢?我一开始也是认为结果是结果是1 2,其实JS是这样执行的,在闭包中var声明的是局部变量,所以a是局部变量,而b呢,b没有用var声明,所以在闭包中b是全局变量,所以前面的b=2被闭包里面的b=1覆盖了,所以输出a和b都是1

 

我是这么理解的。大家有不同的理解可以留言,由于第一次写博客,文笔欠佳,大家见谅

 




原标题:JavaScript中var a=b=c=d的小发现

关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

空派日本fba:https://www.goluckyvip.com/tag/35189.html
Tophatter:https://www.goluckyvip.com/tag/3519.html
空派沙特:https://www.goluckyvip.com/tag/35190.html
空派是什么:https://www.goluckyvip.com/tag/35191.html
空派是什么意思:https://www.goluckyvip.com/tag/35192.html
空派双清:https://www.goluckyvip.com/tag/35193.html
恐怖游轮2002 恐怖游轮2022:https://www.vstour.cn/a/365178.html
时尚电商平台Meesho拟融资3亿美元!:https://www.kjdsnews.com/a/1836524.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流