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);
};
函数声明和变量声明都会被提升,但是其中一个细节是函数会首先被提升然后才是变量
代码
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);
};