vars 变量预解析

Posted 秦少66

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vars 变量预解析相关的知识,希望对你有一定的参考价值。

javascript中,你可以在函数的任何位置声明多个var语句,并且它们就好像是在函数顶部声明一样发挥作用,这种行为称为 hoisting(悬置/置顶解析/预解析)。当你使用了一个变量,然后不久在函数中又重新声明的话,就可能产生逻辑错误。对于JavaScript,只要你的变量是在同一个作用域中(同一函数),它都被当做是声明的,即使是它在var声明前使用的时候。看下面这个例子:

JavaScript中,你可以在函数的任何位置声明多个var语句,并且它们就好像是在函数顶部声明一样发挥作用,这种行为称为 hoisting(悬置/置顶解析/预解析)。当你使用了一个变量,然后不久在函数中又重新声明的话,就可能产生逻辑错误。对于JavaScript,只要你的变量是在同一个作用域中(同一函数),它都被当做是声明的,即使是它在var声明前使用的时候。看下面这个例子:

myname="global";//全局变量
function func(){
alert(myname);//"underfined"
var myname="local";
alert(myname);//"local"
}

以上是关于vars 变量预解析的主要内容,如果未能解决你的问题,请参考以下文章

js预解析

js预解析

js之预解析

0143 JavaScript预解析:概念变量预解析函数预解析函数表达式声明函数问题

javascript预解析

函数和变量中的预解析