js 预编译的过程


alert(a);   //function a(){}


function a(){} 


var a;


这个alert(a)的结果可能有些出乎意料,关键在于预编译的过程 


var 关键字预编译 如果该变量没有值则 undefined 有则 当前值



function 关键字预编译成 函数表达式  函数中变量也预编译成 undefined


再看下一题


alert(a); //undefined


a(); //error


var a = function(){alert(1)}


a(); //1



这里a的结果显示了在预编译过程中用 function 和 var  定义函数的区别

js 预编译的过程,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。