Dea*_*ool 0 html javascript function ecmascript-6
根据ES6,我们可以提供参数的默认值(这里我为第二个参数提供值0).现在,如果我按照ES6 提供20&nullin函数的值,它应该将现在的值取为20和0,因此警报必须ping 20,但它是警报NaN.有人可以帮我吗?
function alpha(a, b = '0') {
return (a != null ? '$' + (parseFloat(a) + parseFloat(b)) : "");
}
alert(alpha(20, null)); //output is NaNRun Code Online (Sandbox Code Playgroud)
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters
现在,如果我在函数中提供20&null的值,根据ES6,它应该采用现在的值为20和0
不.:-) null不会被默认值替换.默认值替换的唯一值是undefined(无论您是明确地给它,还是只留下该参数).
所以:
function alpha(a, b = '0') {
return (a != null ? '$' + (parseFloat(a) + parseFloat(b)) : "");
}
console.log(alpha(20)); // Gets default
console.log(alpha(20, undefined)); // Gets default
console.log(alpha(20, null)); // Does not get defaultRun Code Online (Sandbox Code Playgroud)