javascript,函数的参数

function fn(a,b)
{
console.log(a+b);
}

fn(5); //nan
    不懂啊!大神帮忙说说过程!

没有给b赋值,所以b是undefined, a的值是5,5+undefined = NAN(not a number)

  1. 弱类型,类型自动转换
  2. 值顺序传递,没有赋值为undefined,a=5,b=undefined;
  3. “提升运算”,Number(undefined)=NaN,5+NaN=NaN