compute(10,100);
var compute = function(A,B) {
console.info(A * B) ;
};
function compute(A,B){
console.info(A + B);
}
function compute(A,B){
console.info((A + B)*2);
}
compute(2,10);
请选择输出结果:
- 110 12
- 220 20
- 220 24
- 220 12
上面代码的实际执行顺序如下:
//分为两部分,第一部分是当程序开始执行时,会首先提升函数和变量的声明 //但变量的值为 undefined ,因为变量只声明没有初始化 var compute function compute(A,B){//实际出现的第一个函数 console.info(A + B); } function compute(A,B){//出现的第二个函数 console.info((A + B)*2); } //下面是第二部分 compute(10,100);//输出220,因为第二个函数覆盖了第一个函数 compute = function(A,B){//此时变量初始化为函数,覆盖了上面第二个函数 console.info(A*B); } compute(2,10);//执行变量的那个函数
详情点这里 > 菜鸟教程-JavaScript变量提升
题目来源牛客网