javascript的预编译

  一、先预定义变量,再预定义函数

  二、变量的预编译只作声明,不作初始化,初始化在执行时

  三、function语句定义的函数,不仅声明了函数名,而且函数体也进行了处理

  四、匿名函数不会预编译

function f(){                       // 声明函数f  
return 1;
}
alert(f()); // 返回1
var f = function(){ // 定义匿名函数f
return 2;
}
alert(f()); // 返回2

先预定义了变量f,然后同名函数f()覆盖了变量f,所以第一次输出1;变量的预编译

var f = function(){             // 定义匿名函数f  
return 1;
}
alert(f()); // 返回1
function f(){ // 声明函数f
return 2;
}
alert(f()); // 返回1

先预定义了变量f,然后同名函数f()覆盖了变量f.


posted @ 2012-02-20 21:32  pantherbean  阅读(889)  评论(0编辑  收藏  举报