javascript变量提升

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变量提升

题目来源牛客网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值