日期:2014-05-16  浏览次数:20423 次

js是预编译的特点

<script>
? function myfunc ()
??? {
??????? alert("1");
??? };
??? myfunc(); //这里调用myfunc,输出yeah而不是hello
???
??? function myfunc ()
??? {
??????? alert("2");
??? };???
??? myfunc(); //这里调用myfunc,当然输出yeah
?/**
??js预编译的结果:JavaScript执行引擎并非一行一行地分析和执行程序,而是按照script标签
??一段一段地分析执行的,在同一段程序(就是同一个script标签中)的分析执行中,
??定义式的函数语句会被提取出来优先执行。所以上边的代码编译后的顺序为:
??function myfunc ()
??{
???alert("1");
??};
?? function myfunc ()
??{
???alert("2");
??};????

  //后一个将前一个覆盖掉。

?? myfunc(); //这里调用myfunc,输出yeah而不是hello
?? myfunc(); //这里调用myfunc,当然输出yeah
?*/
</script>

?

?

?