默认情况下,浏览器是从上往下解析html代码,从外面引入的文件也不会修改此顺序
当解析到script则会调用js解析器,通常解析器是先预编译,再解析执行,解析器对变量和函数的声明进行了预编译,变量只进行了声明和初始化的操作,赋值只在解析的时候执行
hello();//这里会报错,hello is not function var hello=function(){ console.log("111"); }
function hello() { alert("1111"); } hello();//111!!!! function hello() { alert("111!!!!"); } hello();//111!!!!