预解析

预解析:

在代码中,首先会预先解析一些(变量定义、函数会预解析);

var a=12;

js只把var a提到作用域的顶部

js会把变量的声明(仅仅是声明)提到顶部。不会突破作用域

执行步骤:

读取一个script标签>预解析>执行里面的代码>

读取下一个script标签>预解析>执行里面的代码

不会突破script标签

undefined和not defined

undefined存在没有赋值

not defined  没定义 直接用

预解析作用范围:

会找本作用域之内(函数、script);

函数也有预解析,但是要注意:

当以变量的形式声明的函数,预解析会按照变量的特性走。

你可能感兴趣的:(预解析)