作用域 变量值受到影响
var a = b = 10;
(function(){
var a=b=20
})();
console.log(b); // 20
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
var a = b = 10;
(function(){
var a=b=20
})();
console.log(b); // 20
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
你写的var a = b = 20;并不等于 var a =20;var b = 20 ; 这个b是全局变量 覆盖了闭包外的b
这不是闭包, 就是一个函数作用域和全局作用域.
还有, 你知道
var a=b=20
这个吗? 这并不是定义两个局部变量, 而是一个赋值给b
, 一个定义变量a
. 所以赋值更改的是全局变量的值, 定义局部变量为a
与全局的a
没有关系.定义多个变量的语法是
var a, b
中间要有 逗号.