1.直接通过function申明函数:
function a(){
console.log("a");
}
a();//输出b;
function a(){
console.log("b");
}
a();//输出b;
可以看到,二者均输出“b”。在javascript中,直接通过function申明的函数,后面定义的会影响到前面的引用。
2.通过var申明函数:
var a = function(){
console.log("a");
};
a();//输出a;
var a = function(){
console.log("b");
};
a();//输出b;
3.二者的混合:
var a = function (){
console.log('a');
};
a();//输出a;
function a(){
console.log("b");
}
a();//输出a;
function a(){
console.log("b");
}
a();//输出b;
var a = function (){
console.log('a');
};
a();//输出a;
function a(){
console.log("a1");
}
a(); //输出a2;
var a = function(){
console.log("b1");
};
a();//输出b1;
var a = function(){
console.log("b2");
};
a();//输出b2;
function a(){
console.log("a2");
}
a();//输出b2;
可以看出,通过var申明的函数会影响在它后面直接通过function申明的函数的引用;而通过function申明的函数会影响前面在它前面通过function申明函数的引用。