js 函数优先原则

函数声明和变量声明都会被提升,但是其中一个细节是函数会首先被提升然后才是变量

代码

foo();

var foo;

function foo(){

console.log(1);

}

foo = function(){

console.log(2);

}

此时输出的是1而不是2.上面代码会被解析为一下形式:

function foo(){

console.log(1);

}

foo();

foo=function(){

console.log(2);

};

posted @ 2016-08-22 21:33  loveslience  阅读(286)  评论(0)    收藏  举报