function fun(a,b)
{
return a+b;
}
当我们运行fun() , fun(1) , fun(1,2) fun(1,2,3)时均可以成功! 只是fun(1)和fun()返回的是‘NaN’
这可能在其他语言会报错误,可js就不一样了。相反,当给函数提供默认参数的时候 ,js反倒会报错 eg:function fun(a=1,b=2){return a+b} 将会提示错误
我们可以这样给js提供默认参数
function fun(a,b)
{
var a = a || 1;
var b = b || 2;
return a+b;
}
这时可以解决默认参数问题,但是如果运行fun(0,3)时将返回不正确的结果
这时我们可以这样定义函数
function fun(a,b)
{
var a = typeof a === 'undefined' ? 1 : a;
var b = typeof b === 'undefined' ? 2 : b;
return a+b;
}
这时可以完美的解决js中默认参数的问题