这篇文章主要讲解了JS变量提升的使用方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

该篇介绍什么是变量提升,写给像我一样的JS新手看的

简单来说变量提升就是 JS会把var变量的声明自动提升到作用域的顶部,即使你不想这样

一个例子: (局部变量与全局变量同名时 , 局部变量覆盖全局变量)

var a="全局变量";function test(){ document.writeln(a); var a="局部变量"; document.writeln(a);}test();

上例的两个输出结果是

undefined局部变量

第一个输出并没有输出全局变量a而是undefined ,这就是变量提升导致的

上例等同与下例:

var a="全局变量";function test(){ var a; document.writeln(a); a="局部变量"; document.writeln(a);}test();

test函数内即使局部变量a还没定义,就已经覆盖了全局变量,可见其声明已经生效了,

即变量声明会自动提升到作用域的顶部, 即使该语句并没执行

如下例:

var x=100;var y=200;function test(){ document.writeln(x); document.writeln(y); if(false) { var x=1; } return; var y=2;}test();

输出结果:

undefinedundefined

等同如下形式:

var x=100;var y=200;function test(){ var x,y; document.writeln(x); document.writeln(y); if(false) { x=1; } return; y=2;}test();

看完上述内容,是不是对JS变量提升的使用方法有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。