JavaScript解析顺序和变量作用域

JavaScript基础之变量作用域。

一、

1、全局变量:全局变量的意思就是,在代码的不论什么地方都能够訪问到。注意:未定义

     直接赋值的变量拥有全局属性。

2、局部变量:局部变量的意思就是,变量的作用域仅限于某段代码或函数体中。



二、JavaScript预解析顺序。


1、<script></script>块以次解析。


2、对标识符(keyword)(var  function)进行解析,可是请注意,这时用varkeyword定义的变量并没有被赋值,不过

     刚刚解析到内存中而且被赋值为undefined,证明有它的存在。

仅仅有真正运行到这句话的时候变量才会被赋值。

     假设定义两个重名的函数那么在预解析的过程中后一个函数将会覆盖前一个函数。比如:

<script>
function aa() {
alert("China")
}
aa();  ------------将会打印Amercia
function aa() {
alert("Amercia")
}
  </script>

原文地址:https://www.cnblogs.com/yfceshi/p/6905953.html