因此在JS中,几乎所有falsey值在用作Number函数的参数时返回0,因此Number(false),Number(null),Number(''),Number([])都返回0。
我的问题是为什么Number(undefined)会返回NaN?
答案 0 :(得分:5)
答案 1 :(得分:1)
问题是:为什么null
值应该返回0
?
我认为这种行为的原因应该在我使用数字和其他值进行操作时会发生什么?
让我们试试:
//Normal operation
console.log(10 + 2);
//Number(false)
console.log(10 + false);
//Number(null)
console.log(10 + null);
//Number('')
console.log(10 + '');
//Number([])
console.log(10 + []);
//Number(undefined)
console.log(10 + undefined);
//All right operators returns 0 but undefined takes down the operation
我希望它可以帮助你,再见。
答案 2 :(得分:0)
Number
函数的工作是将其参数转换为数字。
但NaN(不是数字)是一种好奇心,因为它应该通过任何数值函数传播。
Number
符合此要求。