在使用var变量时,如果不注意就产生变量抬升(官方语言:变量提升)
注释1:变量(z)= x(声明) + y(赋值)
产生变量抬升的前提要求:先使用,再定义变量
先通过一张图了解变量抬升的过程
变量抬升会把变量语句中声明语句与赋值语句分离,然后使声明语句抬升至输出语句之上
会有什么后果产生?
分析一下
代码是从上到下运行的
因为声明语句抬升了,导致原本第一句运行的是输出y,变成了抬升后的声明x,然后执行输出y,最后执行赋值k,因为输出语句已经执行了就会导致赋值k失效
影响,导致原本的赋值k失效
如何避免这个变量抬升
记住四个字的口诀
先创后用
大白话:用var时,先声明再赋值最后使用