一道关于变量提升的题目

(function(){ var x = y = 1; })(); 
console.log(y);
console.log(x);

答案: 1, error

解析:这道题目涉及到变量提升的范围,以及赋值语法。

var x=y=1 等价于 var x=1; y=1; 这里的y会被提升至全局域,所以是上述答案。

var x=1,y=1 等价于var x=1; var y=1, 这样写的话,x,y都是局部变量,不会被提升。

发布了68 篇原创文章 · 获赞 32 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/Web_J/article/details/90415057