javascript的hoisting机制

javascript解释器中存在一种变量声明被提升(hoisting)的机制,即变量(函数)的声明会被提升到作用域的最前面。即使把声明代码写在最后面。

javascript的hoisting机制
 alert(foo);    //function foo(){}
 alert(bar);   //undefined

 var bar = function(){};
 function foo(){};

 alert(foo);   //function foo(){}
 alert(bar);  //function bar(){}
javascript的hoisting机制

从上例也能看出函数声明和函数表达式的不同的一个地方。

在javascript中也要注意另外一个变量和函数重名的问题:

function foo(){
     //body    
}

foo = 5;

 

 

javascript的hoisting机制,布布扣,bubuko.com

javascript的hoisting机制

上一篇:C++中sizeof(string)


下一篇:javascript方法